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

  1. Aprire la Casella degli strumenti e selezionare la scheda Controlli Word.

  2. Trascinare un controllo Bookmark nel documento.

    Verrà visualizzata la finestra di dialogo Aggiungi segnalibro.

  3. Selezionare il testo o gli altri elementi da includere nel segnalibro.

  4. 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

  1. 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.

  2. Nella scheda Inserisci della barra multifunzione, fare clic sul pulsante Segnalibro nel gruppo Collegamenti.

  3. 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:

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:

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