Procedura: aggiungere controlli segnalibro ai documenti di Word
I progetti a livello di documento consentono l'aggiunta di controlli Bookmark al documento del progetto in fase di progettazione o di esecuzione. Nei progetti a livello di applicazione, è possibile aggiungere controlli Bookmark a qualsiasi documento aperto in fase di esecuzione.
Si applica a: le informazioni fornite in questo argomento sono valide per i progetti a livello di documento e di applicazione per Word 2007 e Word 2010. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.
In questo argomento vengono descritte le attività seguenti:
Aggiunta di controlli Bookmark in fase di progettazione
Aggiunta di controlli Bookmark in fase di esecuzione in un progetto a livello di documento
Aggiunta di controlli Bookmark in fase di esecuzione in un progetto a livello di applicazione
Per ulteriori informazioni sui controlli Bookmark, vedere Controllo Bookmark.
Aggiunta di controlli Bookmark in fase di progettazione
Esistono diversi modi per aggiungere in fase di progettazione controlli Bookmark a un documento contenuto in un progetto a livello di documento.
Dalla Casella degli strumenti di Visual Studio.
È possibile trascinare il controllo Bookmark dalla Casella degli strumenti nel documento. Questo metodo può essere scelto se si utilizza già la Casella degli strumenti per aggiungere controlli Windows Form al documento.
Dall'interno di Word.
È possibile aggiungere il controllo Bookmark al documento in maniera analoga a quanto avviene per l'aggiunta del segnalibro nativo. Il vantaggio di questo metodo di aggiunta risiede nella possibilità di denominare il controllo al momento della creazione.
Dalla finestra Origini dati.
È possibile trascinare il controllo Bookmark nel documento dalla finestra Origini dati. Questa procedura è utile se si desidera associare il controllo ai dati contemporaneamente. I controlli host possono essere aggiunti in maniera analoga ai controlli Windows Form dalla finestra Origini dati. Per ulteriori informazioni, vedere Associazione dati e Windows Form.
Nota
Nel computer in uso è possibile che vengano visualizzati nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per ulteriori informazioni vedere Impostazioni di Visual Studio.
Per aggiungere un controllo Bookmark a un documento dalla Casella degli strumenti
Aprire la Casella degli strumenti e selezionare la scheda Controlli Word.
Trascinare un controllo Bookmark nel documento.
Verrà visualizzata la finestra di dialogo Aggiungi segnalibro.
Selezionare il testo o gli altri elementi da includere nel segnalibro.
Scegliere OK.
Se non si desidera assegnare al segnalibro il nome predefinito, è possibile modificare il nome nella finestra Proprietà.
Per aggiungere un controllo Bookmark a un documento di Word
Nel documento ospitato nella finestra di progettazione di Visual Studio, posizionare il cursore nel punto in cui si desidera aggiungere il segnalibro rappresentato dal controllo Bookmark. In alternativa, selezionare il testo da includere nel segnalibro.
Nella scheda Inserisci della barra multifunzione, fare clic sul pulsante Segnalibro nel gruppo Collegamenti.
Nella finestra di dialogo Segnalibro, digitare il nome del nuovo segnalibro e fare clic su Aggiungi.
Aggiunta di controlli Bookmark in fase di esecuzione in un progetto a livello di documento
Per aggiungere controlli Bookmark al documento a livello di codice in fase di esecuzione è possibile utilizzare i metodi della proprietà Controls della classe ThisDocument del progetto. Sono disponibili due overload di metodi utilizzabili per aggiungere un controllo Bookmark nei modi seguenti:
Aggiunta di un controllo Bookmark in un intervallo specificato.
Aggiunta di un controllo Bookmark basato su un segnalibro nativo presente nel documento (ovvero un controllo Microsoft.Office.Interop.Word.Bookmark).
I controlli Bookmark creati in modo dinamico non vengono mantenuti nel documento quando quest'ultimo viene chiuso. Tuttavia, nel documento rimane un controllo Microsoft.Office.Interop.Word.Bookmark nativo. Alla successiva apertura del documento è possibile ricreare un controllo Bookmark basato su un segnalibro nativo. Per ulteriori informazioni, vedere Aggiunta di controlli ai documenti di Office in fase di esecuzione.
Per aggiungere un controllo Bookmark a un documento a livello di codice
Nel gestore eventi ThisDocument_Startup contenuto nel progetto, inserire il codice seguente per aggiungere il controllo Bookmark nel primo paragrafo del documento.
Dim firstParagraph As Microsoft.Office.Tools.Word.Bookmark firstParagraph = Me.Controls.AddBookmark(Me.Paragraphs(1).Range, "FirstParagraph")
Microsoft.Office.Tools.Word.Bookmark firstParagraph; firstParagraph = this.Controls.AddBookmark(this.Paragraphs[1].Range, "FirstParagraph");
Nota
Se si desidera creare un controllo Microsoft.Office.Tools.Word.Bookmark da un oggetto Microsoft.Office.Interop.Word.Bookmark esistente, utilizzare il metodo AddBookmark e passare l'oggetto Microsoft.Office.Interop.Word.Bookmark esistente.
Aggiunta di controlli Bookmark in fase di esecuzione in un progetto a livello di applicazione
L'aggiunta di controlli Bookmark può essere effettuata a livello di codice in fase di esecuzione in qualsiasi documento aperto, utilizzando un componente aggiuntivo a livello di applicazione. A tale scopo, creare un elemento host Document basato su un documento aperto e quindi utilizzare i metodi della proprietà Controls di tale elemento host. Sono disponibili due overload di metodi utilizzabili per aggiungere un controllo Bookmark nei modi seguenti:
Aggiunta di un controllo Bookmark in un intervallo specificato.
Aggiunta di un controllo Bookmark basato su un segnalibro nativo presente nel documento (ovvero un controllo Microsoft.Office.Interop.Word.Bookmark).
I controlli Bookmark creati in modo dinamico non vengono mantenuti nel documento quando quest'ultimo viene chiuso. Tuttavia, nel documento rimane un controllo Microsoft.Office.Interop.Word.Bookmark nativo. Alla successiva apertura del documento è possibile ricreare un controllo Bookmark basato su un segnalibro nativo. Per ulteriori informazioni, vedere Persistenza dei controlli dinamici nei documenti di Office.
Per ulteriori informazioni sulla creazione di elementi host nei progetti a livello di applicazione, vedere Estensione in fase di esecuzione di documenti di Word e di cartelle di lavoro di Excel in componenti aggiuntivi a livello di applicazione.
Per aggiungere un controllo Bookmark in un intervallo specificato
Utilizzare il metodo ControlCollection.AddBookmark(Range, String) e passare l'oggetto Range nel punto in cui si desidera aggiungere il controllo Bookmark.
Nell'esempio di codice seguente viene aggiunto un nuovo controllo Bookmark all'inizio del documento attivo. Per utilizzare questo esempio, eseguire il codice dal gestore eventi ThisAddIn_Startup di un progetto componente aggiuntivo per Word.
' Use the following line of code in projects that target the .NET Framework 4. Dim extendedDocument As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument) ' In projects that target the .NET Framework 3.5, use the following line of code. ' Dim extendedDocument As Document = Me.Application.ActiveDocument.GetVstoObject() Dim firstParagraph As Bookmark = extendedDocument.Controls.AddBookmark( _ extendedDocument.Paragraphs(1).Range, "FirstParagraph")
// Use the following line of code in projects that target the .NET Framework 4. Document extendedDocument = Globals.Factory.GetVstoObject(this.Application.ActiveDocument); // In projects that target the .NET Framework 3.5, use the following line of code. // Document extendedDocument = this.Application.ActiveDocument.GetVstoObject(); Bookmark firstParagraph = extendedDocument.Controls.AddBookmark( extendedDocument.Paragraphs[1].Range, "FirstParagraph");
Per aggiungere un controllo Bookmark basato su un controllo Bookmark nativo
Utilizzare il metodo ControlCollection.AddBookmark(Bookmark, String) e passare il controllo Microsoft.Office.Interop.Word.Bookmark esistente su cui si desidera basare il nuovo controllo Bookmark.
Nell'esempio di codice seguente viene creato un nuovo controllo Bookmark basato sul primo controllo Microsoft.Office.Interop.Word.Bookmark del documento attivo. Per utilizzare questo esempio, eseguire il codice dal gestore eventi ThisAddIn_Startup di un progetto componente aggiuntivo per Word.
If Me.Application.ActiveDocument.Bookmarks.Count > 0 Then Dim firstBookmark As Word.Bookmark = Me.Application.ActiveDocument.Bookmarks(1) ' Use the following line of code in projects that target the .NET Framework 4. Dim extendedDocument As Document = Globals.Factory.GetVstoObject(Me.Application.ActiveDocument) ' In projects that target the .NET Framework 3.5, use the following line of code. ' Dim extendedDocument As Document = Me.Application.ActiveDocument.GetVstoObject() Dim vstoBookmark As Bookmark = extendedDocument.Controls.AddBookmark( _ firstBookmark, "VSTOBookmark") End If
if (this.Application.ActiveDocument.Bookmarks.Count > 0) { object index = 1; Word.Bookmark firstBookmark = this.Application.ActiveDocument.Bookmarks.get_Item(ref index); // Use the following line of code in projects that target the .NET Framework 4. Document extendedDocument = Globals.Factory.GetVstoObject(this.Application.ActiveDocument); // In projects that target the .NET Framework 3.5, use the following line of code. // Document extendedDocument = this.Application.ActiveDocument.GetVstoObject(); Bookmark vstoBookmark = extendedDocument.Controls.AddBookmark( firstBookmark, "VSTOBookmark"); }
Vedere anche
Attività
Procedura: ridimensionare i controlli segnalibro
Concetti
Automazione di Word utilizzando oggetti estesi
Cenni preliminari sugli elementi e sui controlli host
Aggiunta di controlli ai documenti di Office in fase di esecuzione
Limitazioni a livello di codice degli elementi e dei controlli host
Metodi di supporto per i controlli host
Altre risorse
Programmazione di componenti aggiuntivi a livello di applicazione
Programmazione delle personalizzazioni a livello di documento