Programmare componenti aggiuntivi VSTO
Quando si estende un'applicazione di Microsoft Office creando un componente aggiuntivo VSTO, si scrive il codice direttamente per la classe ThisAddIn
nel progetto. È possibile usare questa classe per eseguire attività quali l'accesso al modello a oggetti dell'applicazione host di Microsoft Office, la personalizzazione dell'interfaccia utente dell'applicazione e l'esposizione di oggetti nel componente aggiuntivo VSTO ad altre soluzioni Office.
Si applica a: le informazioni contenute in questo argomento si applicano ai progetti di componente aggiuntivo VSTO. Per altre informazioni, vedere Funzionalità disponibili per app Office lication e tipo di progetto.
Alcuni aspetti della scrittura del codice nei progetti di componente aggiuntivo VSTO presentano delle differenze rispetto ad altri tipi di progetti in Visual Studio. Molte di queste differenze sono causate dalla modalità di esposizione dei modelli a oggetti di Office al codice gestito. Per altre informazioni, vedere Scrivere codice nelle soluzioni Office.
Per informazioni generali sui componenti aggiuntivi VSTO e su altri tipi di soluzioni che è possibile creare usando gli strumenti di sviluppo di Office in Visual Studio, vedere Panoramica dello sviluppo di soluzioni Office (VSTO).
Usare la classe ThisAddIn
È possibile iniziare a scrivere il codice del componente aggiuntivo VSTO nella classe ThisAddIn
. Visual Studio genera automaticamente questa classe nel file di codice ThisAddIn.vb (in Visual Basic) o ThisAddIn.cs (in C#) nel progetto di componente aggiuntivo VSTO. Il Strumenti di Visual Studio per il runtime di Office crea automaticamente un'istanza di questa classe quando microsoft app Office lication carica il componente aggiuntivo VSTO.
Sono disponibili due gestori eventi predefiniti nella classe ThisAddIn
. Per eseguire il codice quando viene caricato il componente aggiuntivo VSTO, aggiungere il codice al gestore eventi ThisAddIn_Startup
. Per eseguire il codice poco prima che il componente aggiuntivo VSTO venga scaricato, aggiungere il codice al gestore eventi ThisAddIn_Shutdown
. Per altre informazioni su questi gestori eventi, vedere Eventi nei progetti di Office.
Nota
In Outlook, per impostazione predefinita, il gestore eventi ThisAddIn_Shutdown
non viene chiamato sempre quando il componente aggiuntivo VSTO viene scaricato. Per altre informazioni, vedere Eventi nei progetti di Office.
Accedere al modello a oggetti dell'applicazione host
Per accedere il modello a oggetti dell'applicazione host, usare il campo Application
della classe ThisAddIn
. Questo campo restituisce un oggetto che rappresenta l'istanza corrente dell'applicazione host. La tabella seguente elenca il tipo di valore restituito per il campo Application
in ogni progetto di componente aggiuntivo VSTO.
Applicazione host | Tipo di valore restituito |
---|---|
Microsoft Office Excel | Application |
Microsoft Office InfoPath | Application |
Microsoft Office Outlook | Application |
Microsoft Office PowerPoint | Applicazione |
Microsoft Office Project | Microsoft.Office.Interop.MSProject.Application |
Microsoft Office Visio | Microsoft.Office.Interop.Visio.Application |
Microsoft Office Word | Application |
Nell'esempio di codice seguente viene illustrato come utilizzare il Application
campo per creare una nuova cartella di lavoro in un componente aggiuntivo VSTO per Microsoft Office Excel. Questo esempio è destinato a essere eseguito dalla classe ThisAddIn
.
Per eseguire la stessa operazione dall'esterno della classe ThisAddIn
, usare l'oggetto Globals
per accedere alla classe ThisAddIn
. Per altre informazioni sull'oggetto Globals
, vedere Accesso globale agli oggetti nei progetti di Office.
Excel.Workbook newWorkbook = Globals.ThisAddIn.Application.Workbooks.Add(System.Type.Missing);
Per altre informazioni sui modelli a oggetti di applicazioni specifiche di Microsoft Office, vedere gli argomenti seguenti:
Accedere a un documento all'avvio della app Office lication
Non tutte le applicazioni di Office 2010 aprono automaticamente un documento all'avvio e nessuna delle applicazioni di Office 2013 apre un documento all'avvio. Pertanto, non aggiungere codice nel ThisAdd-In_Startup
gestore eventi se il codice richiede l'apertura di un documento. Al contrario, aggiungere tale codice a un evento generato dall'applicazione di Office quando un utente crea o apre un documento. In questo modo, è possibile garantire che un documento venga aperto prima che il codice esegua le relative operazioni.
Nell'esempio di codice seguente si usa un documento di Word solo quando l'utente crea un documento o si apre un documento esistente.
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
this.Application.DocumentOpen +=
new Word.ApplicationEvents4_DocumentOpenEventHandler(WorkWithDocument);
((Word.ApplicationEvents4_Event)this.Application).NewDocument +=
new Word.ApplicationEvents4_NewDocumentEventHandler(WorkWithDocument);
}
private void WorkWithDocument(Microsoft.Office.Interop.Word.Document Doc)
{
try
{
Word.Range rng = Doc.Range(0, 0);
rng.Text = "New Text";
rng.Select();
}
catch (Exception ex)
{
// Handle exception if for some reason the document is not available.
}
}
Membri ThisAddIn da usare per altre attività
Nella tabella seguente vengono descritte altre attività comuni e i membri della classe ThisAddIn
che si possono usare per eseguire le attività.
Attività | Membro da usare |
---|---|
Eseguire il codice per inizializzare il componente aggiuntivo VSTO quando viene caricato. | Aggiungere il codice al metodo ThisAddIn_Startup . Questo metodo è il gestore eventi predefinito per l'evento Startup . Per altre informazioni, vedere Eventi nei progetti di Office. |
Eseguire il codice per pulire le risorse usate dal componente aggiuntivo VSTO prima che venga scaricato. | Aggiungere il codice al metodo ThisAddIn_Shutdown . Questo metodo è il gestore eventi predefinito per l'evento Shutdown . Per altre informazioni, vedere Eventi nei progetti di Office. Nota: per impostazione predefinita, il ThisAddIn_Shutdown gestore eventi non viene sempre chiamato quando il componente aggiuntivo VSTO viene scaricato. Per altre informazioni, vedere Eventi nei progetti di Office. |
Visualizzare un riquadro attività personalizzato. | Usare il campo CustomTaskPanes . Per altre informazioni, vedere Riquadri attività personalizzati. |
Esporre gli oggetti nel componente aggiuntivo VSTO ad altre soluzioni Microsoft Office. | Eseguire l'override del metodo RequestComAddInAutomationService. Per altre informazioni, vedere Chiamare il codice nei componenti aggiuntivi VSTO da altre soluzioni Office. |
Personalizzare una funzionalità nel sistema Microsoft Office implementando un'interfaccia di estensibilità. | Eseguire l'override del metodo RequestService in modo da ottenere un'istanza della classe che implementi l'interfaccia. Per altre informazioni, vedere Personalizzare le funzionalità dell'interfaccia utente usando interfacce di estendibilità. Nota: per personalizzare l'interfaccia utente della barra multifunzione, è anche possibile eseguire l'override del CreateRibbonExtensibilityObject metodo . |
Informazioni sulla progettazione della classe ThisAddIn
Nei progetti destinati a .NET Framework 4 è AddIn un'interfaccia. La classe ThisAddIn
deriva dalla classe AddInBase . Questa classe di base reindirizza tutte le chiamate ai relativi membri a un'implementazione interna dell'interfaccia AddIn nel Strumenti di Visual Studio per il runtime di Office .
Nei progetti di componente aggiuntivo VSTO per Outlook la ThisAddIn
classe deriva dalla Microsoft.Office.Tools.Outlook.OutlookAddIn
classe nei progetti destinati a .NET Framework 3.5 e da OutlookAddInBase nei progetti destinati a .NET Framework 4. Queste classi di base forniscono funzionalità aggiuntive per supportare le aree del modulo. Per altre informazioni sulle aree del modulo, vedere Creare aree del modulo di Outlook.
Personalizzare l'interfaccia utente delle app Office licazioni Microsoft
È possibile personalizzare l'interfaccia utente delle applicazioni di Microsoft Office a livello di codice usando un componente aggiuntivo VSTO. Ad esempio, è possibile personalizzare la barra multifunzione, visualizzare un riquadro attività personalizzato o creare un'area del modulo personalizzata in Outlook. Per altre informazioni, vedere Personalizzazione dell'interfaccia utente di Office.
Visual Studio fornisce le finestre di progettazione e le classi che si usano per creare riquadri attività personalizzati, personalizzazioni della barra multifunzione e aree del modulo di Outlook. Le finestre di progettazione e le classi consentono di semplificare il processo di personalizzazione di queste funzionalità. Per altre informazioni, vedere Riquadri attività personalizzati, Progettazione barra multifunzione e Crea aree del modulo di Outlook.
Per personalizzare una di queste funzionalità in un modo non supportato da classi e finestre di progettazione, è possibile implementare un' interfaccia di estendibilità nel componente aggiuntivo VSTO. Per altre informazioni, vedere Personalizzare le funzionalità dell'interfaccia utente usando interfacce di estendibilità.
Inoltre, è possibile modificare l'interfaccia utente di documenti di Word e di cartelle di lavoro di Excel generando elementi host che estendono il comportamento dei documenti e delle cartelle di lavoro. In tal modo è possibile aggiungere controlli gestiti a documenti e fogli di lavoro. Per altre informazioni, vedere Estendere documenti di Word e cartelle di lavoro di Excel nei componenti aggiuntivi VSTO in fase di esecuzione.
Chiamare il codice nei componenti aggiuntivi VSTO da altre soluzioni
Gli oggetti nel componente aggiuntivo VSTO possono essere esposti ad altre soluzioni, ad esempio ad altre soluzioni Microsoft Office. Questa funzionalità è utile se il componente aggiuntivo VSTO fornisce un servizio che si vuole usare anche in altre soluzioni. Ad esempio, se si dispone di un componente aggiuntivo VSTO per Microsoft Office Excel che esegue calcoli sui dati finanziari da un servizio Web, altre soluzioni possono eseguire questi calcoli chiamando il componente aggiuntivo VSTO di Excel in fase di esecuzione.
Per altre informazioni, vedere Chiamare il codice nei componenti aggiuntivi VSTO da altre soluzioni Office.
Contenuto correlato
- Sviluppare soluzioni Office
- Estendere i documenti di Word e le cartelle di lavoro di Excel nei componenti aggiuntivi VSTO in fase di esecuzione
- Chiamare il codice nei componenti aggiuntivi VSTO da altre soluzioni Office
- Procedura dettagliata: Chiamare il codice in un componente aggiuntivo VSTO da VBA
- Personalizzare le funzionalità dell'interfaccia utente usando interfacce di estendibilità
- Procedura: Creare progetti di Office in Visual Studio
- Architecture of VSTO Add-ins
- Scrivere codice nelle soluzioni Office