Procedura: aggiungere controlli Windows Form a documenti di Office

È possibile aggiungere controlli Windows Form a documenti di Microsoft Office Excel e Microsoft Office Word in fase di progettazione in progetti a livello di documento. In fase di esecuzione, è possibile aggiungere controlli nelle personalizzazioni a livello di documento e nei componenti aggiuntivi a livello di applicazione. Ad esempio, è possibile aggiungere un controllo ComboBox al foglio di lavoro in modo che gli utenti possano scegliere da un elenco di opzioni.

Si applica a: le informazioni fornite in questo argomento sono valide per i progetti a livello di documento e di applicazione per Excel 2007, Excel 2010, 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 in fase di progettazione

  • Aggiunta di controlli in fase di esecuzione in progetti a livello di documento

  • Aggiunta di controlli in fase di esecuzione in componenti aggiuntivi a livello di applicazione

Collegamento a video Per una dimostrazione video correlata, vedere l'argomento relativo alla procedura di aggiunta di colonne all'area di un documento in fase di esecuzione (la pagina potrebbe essere in inglese).

Aggiunta di controlli in fase di progettazione

Esistono diversi modi per aggiungere controlli Windows Form al documento di un progetto a livello di documento in fase di progettazione:

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 trascinare un controllo Windows Form nel documento

  1. Creare o aprire un progetto Cartella di lavoro di Excel o un progetto Documento di Word in Visual Studio in modo da rendere visibile il documento nella finestra di progettazione. Per informazioni sulla creazione di progetti, vedere Procedura: creare progetti di Office in Visual Studio.

  2. Nella scheda Controlli comuni della Casella degli strumenti, fare clic sul controllo che si desidera aggiungere e trascinarlo nel documento.

    Nota

    Quando si seleziona un controllo in Excel, nella Barra della formula verrà visualizzato =EMBED("WinForms.Control.Host",""). Questo testo è necessario e non deve essere cancellato.

Per trascinare un controllo Windows Form nel documento

  1. Creare o aprire un progetto Cartella di lavoro di Excel o un progetto Documento di Word in Visual Studio in modo da rendere visibile il documento nella finestra di progettazione. Per informazioni sulla creazione di progetti, vedere Procedura: creare progetti di Office in Visual Studio.

  2. Nella scheda Controlli comuni della Casella degli strumenti, fare clic sul controllo che si desidera aggiungere.

  3. Nel documento, fare clic sul punto in cui si desidera posizionare l'angolo superiore sinistro del controllo, quindi trascinare fino al punto in cui si desidera posizionare l'angolo inferiore destro.

    Il controllo verrà aggiunto al documento con la posizione e le dimensioni specificate.

    Nota

    Quando si seleziona un controllo in Excel, nella Barra della formula verrà visualizzato =EMBED("WinForms.Control.Host",""). Questo testo è necessario e non deve essere cancellato.

Per aggiungere un controllo Windows Form al documento facendo un singolo clic sul controllo

  1. Creare o aprire un progetto Cartella di lavoro di Excel o un progetto Documento di Word in Visual Studio in modo da rendere visibile il documento nella finestra di progettazione. Per informazioni sulla creazione di progetti, vedere Procedura: creare progetti di Office in Visual Studio.

  2. Nella scheda Controlli comuni della Casella degli strumenti, fare clic sul controllo che si desidera aggiungere.

  3. Fare clic sul punto all'interno del documento in cui si desidera aggiungere il controllo.

    Il controllo verrà aggiunto al documento con le dimensioni specificate.

    Nota

    Quando si seleziona un controllo in Excel, nella Barra della formula verrà visualizzato =EMBED("WinForms.Control.Host",""). Questo testo è necessario e non deve essere cancellato.

Per aggiungere un controllo Windows Form al documento facendo doppio clic sul controllo

  1. Creare o aprire un progetto Cartella di lavoro di Excel o un progetto Documento di Word in Visual Studio in modo da rendere visibile il documento nella finestra di progettazione. Per informazioni sulla creazione di progetti, vedere Procedura: creare progetti di Office in Visual Studio.

  2. Nella scheda Controlli comuni della Casella degli strumenti, fare doppio clic sul controllo che si desidera aggiungere.

    Il controllo viene aggiunto al centro del documento o del riquadro attivo.

    Nota

    Quando si seleziona un controllo in Excel, nella Barra della formula verrà visualizzato =EMBED("WinForms.Control.Host",""). Questo testo è necessario e non deve essere cancellato.

Per aggiungere un controllo Windows Form al documento premendo INVIO

  1. Creare o aprire un progetto Cartella di lavoro di Excel o un progetto Documento di Word in Visual Studio in modo da rendere visibile il documento nella finestra di progettazione. Per informazioni sulla creazione di progetti, vedere Procedura: creare progetti di Office in Visual Studio.

  2. Nella scheda Controlli comuni della Casella degli strumenti, fare clic sul controllo che si desidera aggiungere e premere INVIO.

    Il controllo viene aggiunto al centro del documento o del riquadro attivo.

    Nota

    Quando si seleziona un controllo in Excel, nella Barra della formula verrà visualizzato =EMBED("WinForms.Control.Host",""). Questo testo è necessario e non deve essere cancellato.

Aggiunta di controlli in fase di esecuzione in progetti a livello di documento

È possibile aggiungere a livello di codice controlli Windows Form a un documento in fase di esecuzione. In Word, utilizzare i metodi della proprietà Controls della classe ThisDocument. In Excel, utilizzare i metodi della proprietà Controls di una classe Sheetn. Ogni metodo dispone di diversi overload che consentono di specificare in modi diversi il percorso del controllo. Per ulteriori informazioni, vedere Metodi di supporto per i controlli Windows Form.

Quando si aggiunge un controllo Windows Form a un documento in fase di esecuzione, il controllo non viene reso persistente nel documento quando quest'ultimo viene chiuso. È possibile ricreare il controllo alla prossima apertura del documento. Per ulteriori informazioni, vedere Aggiunta di controlli ai documenti di Office in fase di esecuzione.

Per aggiungere un controllo Windows Form in fase di esecuzione

  • Utilizzare un metodo che presenta il nome Add<classe controllo> (dove classe controllo rappresenta il nome di classe del controllo Windows Form che si desidera aggiungere, ad esempio AddButton()).

    Nell'esempio di codice seguente viene illustrato come aggiungere un oggetto Button alla cella C5 dell'oggetto Sheet1 in un progetto a livello di documento per Excel.

    Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Me.Startup
    
        Dim salesButton As Microsoft.Office.Tools.Excel.Controls.Button
        salesButton = Me.Controls.AddButton(Me.Range("C5"), "salesButton")
        salesButton.Text = "Calculate Total Sales"
    End Sub
    
    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
        Microsoft.Office.Tools.Excel.Controls.Button salesButton;
        salesButton = this.Controls.AddButton(this.get_Range("C5", missing), "salesButton");
        salesButton.Text = "Calculate Total Sales";
    }
    

Aggiunta di controlli in fase di esecuzione in componenti aggiuntivi a livello di applicazione

È possibile aggiungere a livello di codice controlli Windows Form a qualsiasi documento aperto in fase di esecuzione. Innanzitutto, generare un elemento host basato su un documento o un foglio di lavoro aperto. Successivamente, in Word, utilizzare i metodi della proprietà Document.Controls del nuovo elemento host. In Excel, utilizzare i metodi della proprietà Worksheet.Controls del nuovo elemento host. Ogni metodo dispone di diversi overload che consentono di specificare in modi diversi il percorso del controllo. Per ulteriori informazioni, vedere Metodi di supporto per i controlli Windows Form.

Quando si aggiunge un controllo Windows Form a un documento in fase di esecuzione, il controllo non viene reso persistente nel documento quando quest'ultimo viene chiuso. È possibile ricreare il controllo alla prossima apertura del documento. Per ulteriori informazioni, vedere Aggiunta di controlli ai documenti di Office in fase di esecuzione.

Per ulteriori informazioni sulla generazione 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 Windows Form in fase di esecuzione

  • Utilizzare un metodo che presenta il nome Add<classe controllo> (dove classe controllo rappresenta il nome di classe del controllo Windows Form che si desidera aggiungere, ad esempio AddButton()).

    Nota

    Nei progetti di componenti aggiuntivi a livello di applicazione destinati a .NET Framework 4, è necessario aggiungere un riferimento all'assembly Microsoft.Office.Tools.Excel.v4.0.Utilities.dll o Microsoft.Office.Tools.Word.v4.0.Utilities.dll per poter accedere ai metodi Add<classe controllo>.

    Nell'esempio di codice seguente viene illustrato come aggiungere un oggetto Button al primo paragrafo del documento attivo utilizzando un componente aggiuntivo di Word.

    Dim salesButton As Microsoft.Office.Tools.Word.Controls.Button
    
    ' 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()
    
    extendedDocument.Paragraphs(1).Range.InsertParagraphBefore()
    salesButton = extendedDocument.Controls.AddButton( _
        extendedDocument.Paragraphs(1).Range, 75, 18, "salesButton")
    salesButton.Text = "Calculate Sales"
    
    Microsoft.Office.Tools.Word.Controls.Button salesButton;
    
    // 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();
    
    extendedDocument.Paragraphs[1].Range.InsertParagraphBefore();
    salesButton = extendedDocument.Controls.AddButton(
        extendedDocument.Paragraphs[1].Range, 75, 18, "salesButton");
    salesButton.Text = "Calculate Sales";
    

Vedere anche

Attività

Procedura: ridimensionare i controlli nelle celle di un foglio di lavoro

Concetti

Cenni preliminari sui controlli Windows Form nei documenti di Office

Aggiunta di controlli ai documenti di Office in fase di esecuzione

Cenni preliminari sugli elementi e sui controlli host

Parametri facoltativi nelle soluzioni Office