Condividi tramite


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

Questa procedura dettagliata illustra come creare una scheda personalizzata della barra multifunzione utilizzando l'elemento 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; Project; Visio; Word. Per altre informazioni, vedere Funzionalità disponibili per l'applicazione e il tipo di progetto di Office.

In questa procedura dettagliata sono illustrati i task seguenti:

  • Aggiungere 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 .

Annotazioni

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 sono necessari i componenti seguenti:

Creare il progetto

Il primo passaggio consiste nel creare un progetto di componente aggiuntivo VSTO di 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 Ribbon (XML) al progetto. In seguito in questa guida, verranno aggiunti alcuni pulsanti a questa scheda.

Per creare la scheda Componenti aggiuntivi

  1. Scegliere Aggiungi nuovo elemento dal menu Progetto.

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

  3. Modificare il nome della nuova barra multifunzione in MyRibbon e fare clic su 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 CreateRibbonExtensibilityObject metodo e restituisce la classe XML della barra multifunzione all'applicazione Di 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 è offrire agli utenti un modo per aggiungere testo boilerplate 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 in questa procedura dettagliata si definiranno 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 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 . Questo codice crea 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 .

    Al documento viene aggiunta una stringa nella posizione corrente del cursore.

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

    Al documento viene aggiunta una tabella nella posizione corrente del cursore.

Passaggi successivi

Per altre informazioni su come personalizzare l'interfaccia utente di Office, vedere gli argomenti seguenti: