/ / Excel Addin Creazione per un solo file - c #, excel, vsto

Excel Addin Creazione per un solo file - c #, excel, vsto

Ho creato un progetto Addin VS dove hocodice scritto per aggiungere un menu personalizzato con alcune voci di menu in C #. Con questo ho ottenuto un file di distribuzione VSTO. Ora apro un file excel casuale e aggiungo questo addin o vsto manualmente da Excel Options-> Addins-> Manage (Com Addin) -> Vai e aggiunto l'addin. Il mio problema è che l'aggiunta viene aggiunta in tutti i file insieme al file in cui ho aggiunto. Voglio che l'utente veda questo menu aggiuntivo per il file per il quale ha aggiunto manualmente. Il nostro approccio è libero di chiedere all'utente di seguire alcuni passaggi speciali da seguire o di scrivere codice C # anche per raggiungere questo obiettivo. Inoltre, non possiamo farlo identificando il nome del file poiché il nome e la posizione del file potrebbero cambiare. Si prega di suggerire qualsiasi soluzione in quanto sono totalmente bloccato su questo problema.

risposte:

0 per risposta № 1

perché non creare un pulsante di attivazione / disattivazione per mostrare / aggiungere e nascondere / rimuovere il riquadro delle attività personalizzate. segui le istruzioni a:
http://msdn.microsoft.com/en-us/library/aa942846.aspx
msdn.microsoft.com/en-US/office/hh128771


crea un componente aggiuntivo usando Visual Studio.
aggiungi un controllo utente, un nastro (visivo) usando il tasto destro del mouse -> aggiungi nuovo
il controllo dell'utente sarà il tuo takspane. aggiungi un pulsante di attivazione / disattivazione nella barra multifunzione.

quindi, nel ThisAddIn.cs aggiungi le seguenti linee:

 private UserControl1 myUserControl1;
private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;

private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
myUserControl1 = new UserControl1();
myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "My Task Pane");

}
public void toggle(bool b)
{
myCustomTaskPane.Visible = b;
}

dopo, nel Ribbon1.cs aggiungi il seguente codice:

 private void toggleButton1_Click(object sender, RibbonControlEventArgs e)
{
Globals.ThisAddIn.toggle(toggleButton1.Checked);
}

Spero che questo funzioni per te.