Aggiungere controlli Windows Form ai 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 VSTO. Ad esempio, è possibile aggiungere un ComboBox controllo al foglio di lavoro in modo che gli utenti possano selezionare da un elenco di opzioni.

Si applica a: le informazioni contenute in questo argomento si applicano ai progetti a livello di documento e ai progetti di componente aggiuntivo VSTO per Excel e Word. Per altre informazioni, vedere Funzionalità disponibili per app Office lication e tipo di progetto.

Questo argomento descrive le attività seguenti:

Aggiungere controlli in fase di progettazione

Sono disponibili varie modalità di aggiunta di controlli Windows Form al documento in un progetto a livello di documento in fase di progettazione.

Nota

I nomi o i percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti potrebbero essere diversi nel computer in uso. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per altre informazioni, vedere Personalizzare l'IDE.

Per trascinare un controllo Windows sul documento

  1. Creare o aprire un progetto di una cartella di lavoro Excel o un progetto di documento di Word in Visual Studio per visualizzare 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 da aggiungere e trascinarlo nel documento.

    Nota

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

Per trascinare un controllo Windows Form sul documento

  1. Creare o aprire un progetto di una cartella di lavoro Excel o un progetto di documento di Word in Visual Studio per visualizzare 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 da aggiungere.

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

    Il controllo viene aggiunto al documento con la dimensione e la posizione specificate.

    Nota

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

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

  1. Creare o aprire un progetto di una cartella di lavoro Excel o un progetto di documento di Word in Visual Studio per visualizzare 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 da aggiungere

  3. Nel documento fare clic nel punto in cui si vuole aggiungere il controllo.

    Il controllo viene aggiunto al documento con la dimensione predefinita.

    Nota

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

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

  1. Creare o aprire un progetto di una cartella di lavoro Excel o un progetto di documento di Word in Visual Studio per visualizzare 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 da aggiungere.

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

    Nota

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

Per aggiungere un controllo Windows Form al documento premendo invio

  1. Creare o aprire un progetto di una cartella di lavoro Excel o un progetto di documento di Word in Visual Studio per visualizzare 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 da aggiungere e premere INVIO.

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

    Nota

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

Aggiungere controlli in fase di esecuzione nei progetti a livello di documento

È possibile aggiungere controlli Windows Form a livello di codice a un documento in fase di esecuzione. In Word usare i metodi della proprietà Controls della classe ThisDocument. In Excel utilizzare i metodi della Controls proprietà di una Sheetclasse n . Ogni metodo dispone di diversi overload per specificare in modi diversi il percorso del controllo.

Quando si aggiunge un controllo Windows Form a un documento in fase di esecuzione, il controllo non viene salvato in modo permanente nel documento quando il documento viene chiuso. È possibile ricreare il controllo alla prossima apertura del documento. Per altre informazioni, vedere Aggiungere controlli ai documenti di Office in fase di esecuzione.

Per aggiungere un controllo Windows Form in fase di esecuzione

  1. Usare un metodo con il nome Add<control class> (dove la classe control è il nome della 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 di in un progetto a livello di Sheet1 documento per Excel.

    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
        Microsoft.Office.Tools.Excel.Controls.Button salesButton;
        salesButton = this.Controls.AddButton(this.get_Range("C5"), "salesButton");
        salesButton.Text = "Calculate Total Sales";
    }
    

Aggiungere controlli in fase di esecuzione nei componenti aggiuntivi VSTO

È possibile aggiungere controlli Windows Form a livello di codice a qualsiasi documento aperto in fase di esecuzione. Generare innanzitutto un elemento host basato su un foglio di lavoro o un documento aperto. In Word usare quindi i metodi della proprietà Controls del nuovo elemento host. In Excel usare i metodi della proprietà Controls del nuovo elemento host. Ogni metodo dispone di diversi overload per specificare in modi diversi il percorso del controllo.

Quando si aggiunge un controllo Windows Form a un documento in fase di esecuzione, il controllo non viene salvato in modo permanente nel documento quando il documento viene chiuso. È possibile ricreare il controllo alla prossima apertura del documento. Per altre informazioni, vedere Aggiungere controlli ai documenti di Office in fase di esecuzione.

Per altre informazioni sulla generazione di elementi host nei progetti di componente aggiuntivo VSTO, vedere Estendere documenti di Word e cartelle di lavoro di Excel nei componenti aggiuntivi VSTO in fase di esecuzione.

Per aggiungere un controllo Windows Form in fase di esecuzione

  1. Usare un metodo con il nome Add<control class> (dove la classe control è il nome della classe del controllo Windows Form che si desidera aggiungere, ad esempio AddButton).

    Nota

    Nei progetti di componente aggiuntivo VSTO destinati a .NET Framework 4 o versione successiva, è necessario aggiungere un riferimento all'assembly Microsoft.Office.Tools.Excel.v4.0.Utilities.dll o Microsoft.Office.Tools.Word.v4.0.Utilities.dll prima di poter accedere ai metodi aggiungi<classe> di controllo.

    L'esempio di codice seguente illustra come aggiungere un oggetto Button al primo paragrafo del documento attivo mediante un componente aggiuntivo VSTO per Word.

    Microsoft.Office.Tools.Word.Controls.Button salesButton;
    
    Document extendedDocument = Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    
    
    extendedDocument.Paragraphs[1].Range.InsertParagraphBefore();
    salesButton = extendedDocument.Controls.AddButton(
        extendedDocument.Paragraphs[1].Range, 75, 18, "salesButton");
    salesButton.Text = "Calculate Sales";