Condividi tramite


Programmazione delle personalizzazioni a livello di documento

Aggiornamento: novembre 2007

Si applica a

Le informazioni contenute in questo argomento riguardano solo i progetti Visual Studio Tools per Office e le versioni di Microsoft Office specificati.

Tipo di progetto

  • Progetti a livello di documento

Versione Microsoft Office

  • Microsoft Office System 2007

  • Microsoft Office 2003

Per ulteriori informazioni, vedere la classe Funzionalità disponibili in base ai tipi di progetto e applicazione.

Quando si estende Microsoft Office Word o Microsoft Office Excel utilizzando una personalizzazione a livello di documento è possibile eseguire le attività seguenti:

  • Automazione dell'applicazione di Microsoft Office tramite il modello a oggetti dell'applicazione.

  • Aggiunta di controlli all'area di un documento.

  • Chiamata a codice Visual Basic, Applications Edition (VBA) contenuto nel documento dall'assembly di personalizzazione.

  • Chiamata a codice contenuto nell'assembly di personalizzazione da VBA.

  • Gestione di determinati aspetti di un documento anche se si trova in un server in cui non è stato installato Microsoft Office.

  • Personalizzazione dell'interfaccia utente di un'applicazione.

Per informazioni generali sulle personalizzazioni a livello di documento e sugli altri tipi di soluzione che è possibile creare tramite Visual Studio Tools per Office, vedere Cenni preliminari sullo sviluppo di soluzioni Office.

Scrittura di codice nei progetti a livello di documento

Quando si crea un progetto a livello di documento, Visual Studio Tools per Office genera automaticamente nel progetto una classe utilizzabile come base iniziale di scrittura del codice. Visual Studio Tools per Office genera classi specifiche per Word ed Excel:

  • Per impostazione predefinita, nei progetti a livello di documento di Word la classe viene denominata ThisDocument.

  • Per i progetti a livello di documento di Excel vengono generate più classi: una per la cartella di lavoro e una per ogni foglio di lavoro. Per impostazione predefinita, queste classi vengono denominate come segue:

    • ThisWorkbook

    • Sheet1

    • Sheet2

    • Sheet3

La classe generata contiene gestori eventi che vengono chiamati quando il documento viene aperto o chiuso. Per eseguire un blocco di codice all'apertura del documento, aggiungere tale blocco nel gestore eventi Startup. Per eseguire un blocco di codice subito prima della chiusura del documento, aggiungere tale blocco al gestore eventi Shutdown. Per ulteriori informazioni, vedere la classe Eventi di progetti Visual Studio Tools per Office.

Ognuna delle classi generate automaticamente in un progetto a livello di documento deriva da una classe Visual Studio Tools per Office definita elemento host. Ad esempio, la classe ThisDocument di un progetto Word deriva dall'elemento host Microsoft.Office.Tools.Word.Document. Per ulteriori informazioni, vedere Cenni preliminari sugli elementi e sui controlli host.

Accesso al modello a oggetti dell'applicazione host

Per accedere al modello a oggetti dell'applicazione host occorre utilizzare i membri della classe generata nel progetto. Ognuna di queste classi corrisponde a una classe del modello a oggetti di Excel o Word. In particolare, le due classi corrispondenti sono quasi identiche in termini di proprietà, metodi ed eventi. Ad esempio, la classe ThisDocument di un progetto a livello di documento di Word presenta la maggior parte dei membri disponibili nella classe Microsoft.Office.Interop.Word.Document del modello a oggetti di Word.

Nell'esempio di codice seguente viene illustrato come utilizzare il modello a oggetti di Word per salvare il documento appartenente a una personalizzazione a livello di documento di Word. Questo esempio deve essere eseguito dall'interno della classe ThisDocument.

Me.Save()
this.Save();

Per eseguire lo stesso esempio dall'esterno della classe ThisDocument, utilizzare l'oggetto Globals per accedere alla classe ThisDocument. Per ulteriori informazioni sull'oggetto Globals, vedere Accesso globale agli oggetti nei progetti Visual Studio Tools per Office.

Ad esempio, per includere un pulsante Salva nell'interfaccia utente del riquadro delle azioni è possibile aggiungere questo codice a un file di codice del riquadro delle azioni.

Globals.ThisDocument.Save()
Globals.ThisDocument.Save();

Poiché la classe ThisDocument deriva dall'elemento host Microsoft.Office.Tools.Word.Document, il metodo Save chiamato in questo codice è di fatto il metodo Save dell'elemento host Microsoft.Office.Tools.Word.Document. Questo metodo corrisponde al metodo Save della classe Microsoft.Office.Interop.Word.Document del modello a oggetti di Word.

Per ulteriori informazioni sull'utilizzo dei modelli a oggetti di Word ed Excel, vedere Cenni preliminari sul modello a oggetti di Word e Cenni preliminari sul modello a oggetti di Excel.

Aggiunta di controlli ai documenti

Per personalizzare l'interfaccia utente di un documento è possibile aggiungere controlli Windows Form o controlli host all'area del documento. Combinando opportunamente codice e diversi gruppi di controlli è possibile associare i controlli a dati, ottenere informazioni dall'utente e rispondere alle azioni dell'utente.

I controlli host sono classi che estendono alcuni degli oggetti del modello a oggetti di Word ed Excel. Ad esempio, il controllo host Microsoft.Office.Tools.Excel.ListObject fornisce tutte le funzionalità dell'oggetto Microsoft.Office.Interop.Excel.ListObject di Excel. Tuttavia, il controllo host Microsoft.Office.Tools.Excel.ListObject presenta inoltre eventi e funzionalità di associazione dati aggiuntivi.

Per ulteriori informazioni, vedere Cenni preliminari sugli elementi e sui controlli host e Cenni preliminari sui controlli Windows Form nei documenti di Office.

Combinazione di VBA con le personalizzazioni a livello di documento

È possibile utilizzare codice VBA in un documento appartenente a una personalizzazione a livello di documento di Visual Studio Tools per Office. In tutti i progetti a livello di documento è possibile chiamare codice VBA nel documento dall'assembly di personalizzazione. Nei progetti a livello di documento per Microsoft Office System 2007 è inoltre possibile configurare il progetto in modo da consentire al codice VBA nel documento di chiamare il codice nell'assembly di personalizzazione.

Per ulteriori informazioni, vedere Combinazione di VBA con le personalizzazioni a livello di documento.

Gestione di documenti in un server

Diversi aspetti della personalizzazione a livello di documento possono essere gestiti anche nei server in cui non è stato installato Microsoft Office Word oppure Microsoft Office Excel. È ad esempio possibile accedere e apportare modifiche ai dati memorizzati nella cache dei dati di un documento. È inoltre possibile gestire l'assembly di personalizzazione di Visual Studio Tools per Office associato a un documento. Ad esempio, è possibile rimuovere a livello di codice l'assembly da un documento affinché quest'ultimo non esegua più il codice. È inoltre possibile collegare un assembly a un documento a livello di codice.

Per ulteriori informazioni, vedere Gestione dei documenti di un server utilizzando la classe ServerDocument.

Personalizzazione dell'interfaccia utente delle applicazioni di Microsoft Office

Per personalizzare l'interfaccia utente di Word ed Excel è possibile utilizzare una personalizzazione a livello di documento.

Microsoft Office 2007 e 2003

Per Microsoft Office System 2007 e 2003, l'interfaccia utente può essere personalizzata nei modi seguenti:

Word 2007 ed Excel 2007

Per Word 2007 ed Excel 2007, l'interfaccia utente può essere personalizzata anche nei modi seguenti:

Word 2003 ed Excel 2003

Per Word 2003 ed Excel 2003, l'interfaccia utente può essere personalizzata anche nei modi seguenti:

Per ulteriori informazioni sulla personalizzazione dell'interfaccia utente delle applicazioni di Microsoft Office, vedere Personalizzazione dell'interfaccia utente di Office.

Vedere anche

Attività

Procedura: creare e modificare proprietà personalizzate di un documento

Procedura: leggere e scrivere nelle proprietà dei documenti

Concetti

Combinazione di VBA con le personalizzazioni a livello di documento

Gestione dei documenti di un server utilizzando la classe ServerDocument

Recupero di oggetti estesi da oggetti nativi di Office nelle personalizzazioni a livello di documento

Altre risorse

Controlli nei documenti di Office