Procedura dettagliata: Creare una scheda personalizzata tramite XML della barra multifunzione

Questa procedura dettagliata illustra come creare una scheda personalizzata della barra multifunzione usando l'elemento della barra multifunzione (XML).

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 le applicazioni seguenti: Excel; InfoPath 2013 e InfoPath 2010; Outlook; Powerpoint; Progetto; Visio; Parola. Per altre informazioni, vedere Funzionalità disponibili per app Office lication e tipo di progetto.

In questa procedura dettagliata sono illustrati i task seguenti:

  • Aggiunta di pulsanti alla scheda Componenti aggiuntivi . La scheda Componenti aggiuntivi è la scheda predefinita definita nel file XML della barra multifunzione.

  • Automazione di Microsoft Office Word tramite i pulsanti nella scheda Componenti aggiuntivi .

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 di Visual Studio.

Prerequisiti

Per completare questa procedura dettagliata, è necessario disporre dei componenti seguenti:

Creare il progetto

Il primo passaggio consiste nel creare un progetto di componente aggiuntivo VSTO per Word. Successivamente si personalizza la scheda Componenti aggiuntivi di questo documento.

Per creare un nuovo progetto

  1. Creare un progetto di componente aggiuntivo di Word con il nome MyRibbonAddIn.

    Per altre informazioni, vedere Procedura: Creare progetti di Office in Visual Studio.

    Visual Studio apre il file di codice ThisAddIn.cs o ThisAddIn.vb e aggiunge il progetto MyRibbonAddIn a Esplora soluzioni.

Creare la scheda Componenti aggiuntivi VSTO

Per creare la scheda Componenti aggiuntivi , aggiungere un elemento della barra multifunzione (XML) al progetto. Più avanti nella procedura dettagliata verranno aggiunti alcuni pulsanti a questa scheda.

Per creare la scheda Componenti aggiuntivi

  1. Dal menu Progetto fare clic su Aggiungi nuovo elemento.

  2. Nella finestra di dialogo Aggiungi nuovo elemento selezionare Barra multifunzione (XML).

  3. Modificare il nome della nuova barra multifunzione in MyRibbone quindi scegliere Aggiungi.

    Il file MyRibbon.cs o MyRibbon.vb viene aperto nella finestra di progettazione. Al progetto viene aggiunto anche un file XML denominato MyRibbon.xml .

  4. In Esplora soluzioni fare clic con il pulsante destro del mouse su ThisAddin.cs o ThisAddin.vb e quindi scegliere Visualizza codice.

  5. Aggiungere il codice seguente alla classe ThisAddIn . Questo codice esegue l'override del metodo CreateRibbonExtensibilityObject e restituisce la classe XML della barra multifunzione all'applicazione Office.

    protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
    {
        return new MyRibbon();
    }
    
  6. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto MyRibbonAddIn e quindi scegliere Compila. Verificare che il progetto venga compilato senza errori.

Aggiungere pulsanti alla scheda Componenti aggiuntivi

L'obiettivo di questo componente aggiuntivo VSTO consiste nell'offrire all'utente un modo per aggiungere testo standard e una tabella specifica al documento attivo. Per fornire l'interfaccia utente, aggiungere due pulsanti alla scheda Componenti aggiuntivi modificando il file XML della barra multifunzione. Più avanti nella procedura dettagliata verranno definiti i metodi di callback per i pulsanti. Per altre informazioni sul file XML della barra multifunzione, vedere XML della barra multifunzione.

Per aggiungere pulsanti alla scheda Componenti aggiuntivi

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse su MyRibbon.xml e quindi scegliere Apri.

  2. Sostituire il contenuto dell'elemento tabulazioni con il codice XML seguente. Questo codice XML modifica l'etichetta del gruppo di controlli predefinito in Contenuto e aggiunge due nuovi pulsanti con le etichette Inserisci testo e Inserisci tabella.

    <tab idMso="TabAddIns">
        <group id="ContentGroup" label="Content">
            <button id="textButton" label="Insert Text"
                 screentip="Text" onAction="OnTextButton"
                 supertip="Inserts text at the cursor location."/>
            <button id="tableButton" label="Insert Table"
                 screentip="Table" onAction="OnTableButton"
                 supertip="Inserts a table at the cursor location."/>
        </group>
    </tab>
    

Automatizzare il documento usando i pulsanti

È necessario aggiungere onAction metodi di callback per i pulsanti Inserisci testo e Inserisci tabella per eseguire azioni quando l'utente fa clic su di essi. Per altre informazioni sui metodi di callback per i controlli della barra multifunzione, vedere XML della barra multifunzione.

Per aggiungere i metodi di callback per i pulsanti

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse su MyRibbon.cs o MyRibbon.vb e quindi scegliere Apri.

  2. Aggiungere il codice seguente all'inizio del file MyRibbon.cs o MyRibbon.vb . Tramite questo codice viene creato un alias per lo spazio dei nomi Microsoft.Office.Interop.Word.

    using Word = Microsoft.Office.Interop.Word;
    
  3. Aggiungere il seguente metodo alla classe MyRibbon. Si tratta di un metodo di callback per il pulsante Inserisci testo che aggiunge una stringa al documento attivo nella posizione corrente del cursore.

    public void OnTextButton(Office.IRibbonControl control)
    {
        Word.Range currentRange = Globals.ThisAddIn.Application.Selection.Range;
        currentRange.Text = "This text was added by the Ribbon.";
    }
    
  4. Aggiungere il seguente metodo alla classe MyRibbon. Si tratta di un metodo di callback per il pulsante Inserisci tabella che aggiunge una tabella al documento attivo nella posizione corrente del cursore.

    public void OnTableButton(Office.IRibbonControl control)
    {
        object missing = System.Type.Missing;
        Word.Range currentRange = Globals.ThisAddIn.Application.Selection.Range;
        Word.Table newTable = Globals.ThisAddIn.Application.ActiveDocument.Tables.Add(
        currentRange, 3, 4, ref missing, ref missing);
    
        // Get all of the borders except for the diagonal borders.
        Word.Border[] borders = new Word.Border[6];
        borders[0] = newTable.Borders[Word.WdBorderType.wdBorderLeft];
        borders[1] = newTable.Borders[Word.WdBorderType.wdBorderRight];
        borders[2] = newTable.Borders[Word.WdBorderType.wdBorderTop];
        borders[3] = newTable.Borders[Word.WdBorderType.wdBorderBottom];
        borders[4] = newTable.Borders[Word.WdBorderType.wdBorderHorizontal];
        borders[5] = newTable.Borders[Word.WdBorderType.wdBorderVertical];
    
        // Format each of the borders.
        foreach (Word.Border border in borders)
        {
            border.LineStyle = Word.WdLineStyle.wdLineStyleSingle;
            border.Color = Word.WdColor.wdColorBlue;
        }
    }
    

Test del componente aggiuntivo VSTO

Quando si esegue il progetto, word si apre e la scheda denominata Componenti aggiuntivi viene visualizzata sulla barra multifunzione. Fare clic sui pulsanti Inserisci testo e Inserisci tabella nella scheda Componenti aggiuntivi per testare il codice.

Per testare il componente aggiuntivo VSTO

  1. Premere F5 per eseguire il progetto.

  2. Verificare che la scheda Componenti aggiuntivi sia visibile sulla barra multifunzione.

  3. Fare clic sulla scheda Componenti aggiuntivi .

  4. Verificare che il gruppo Contenuto sia visibile sulla barra multifunzione.

  5. Fare clic sul pulsante Inserisci testo nel gruppo Contenuto .

    Verrà aggiunta una stringa in corrispondenza della posizione corrente del cursore nel documento.

  6. Fare clic sul pulsante Inserisci tabella nel gruppo Contenuto .

    Verrà aggiunta una tabella in corrispondenza della posizione corrente del cursore nel documento.

Passaggi successivi

È possibile trovare ulteriori informazioni sulla personalizzazione dell'interfaccia utente di Office nei seguenti argomenti:

  • Personalizzare la barra multifunzione di un app Office diverso. Per altre informazioni sulle applicazioni che supportano la personalizzazione della barra multifunzione, vedere Panoramica della barra multifunzione.

  • Personalizzare la barra multifunzione di un app Office lication tramite Progettazione barra multifunzione. Per altre informazioni, vedere Ribbon Designer.

  • Creare un riquadro azioni personalizzato. Per altre informazioni, vedere Panoramica del riquadro Azioni.

  • Personalizzare l'interfaccia utente di Microsoft Office Outlook usando le aree del modulo di Outlook. Per altre informazioni, vedere Procedura dettagliata: Progettare un'area del modulo di Outlook.