Condividi tramite


Procedura dettagliata: creazione di una scheda personalizzata utilizzando l'elemento XML della barra multifunzione

In questa procedura dettagliata viene illustrato come creare una scheda personalizzata della barra multifunzione utilizzando l'elemento Barra multifunzione (XML).

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, InfoPath 2010, Outlook 2007, Outlook 2010, PowerPoint 2007, PowerPoint 2010, Project 2010, Visio 2010, Word 2007 e Word 2010. Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazioni di Office.

In questa procedura guidata vengono illustrate le seguenti attività:

  • 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 utilizzando i pulsanti nella scheda Componenti aggiuntivi.

Nota

Il computer potrebbe mostrare nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. L'edizione di Visual Studio in uso e le impostazioni utilizzate determinano questi elementi. Per ulteriori informazioni, vedere Gestione delle impostazioni.

Prerequisiti

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

-

Una versione di Visual Studio 2010 che include gli strumenti per sviluppatori di Microsoft Office. Per ulteriori informazioni, vedere [Configurazione di un computer per sviluppare soluzioni Office](bb398242\(v=vs.100\).md).
  • Microsoft Office Word 2007 o Word 2010. 

Collegamento a video Per una dimostrazione video correlata, vedere la procedura relativa all'utilizzo della finestra di progettazione per personalizzare la barra multifunzione in Excel.

Creazione del progetto

Il primo passaggio consiste nella creazione di un progetto componente aggiuntivo per Word. Successivamente si personalizzerà la scheda Componenti aggiuntivi di questo documento.

Per creare un nuovo progetto

  • Creare un progetto Componente aggiuntivo per Word denominato MyRibbonAddIn.

    Per ulteriori informazioni, vedere Procedura: creare progetti di Office in Visual Studio.

    Tramite Visual Studio verrà aperto il file di codice ThisAddIn.cs o ThisAddIn.vb e il progetto MyRibbonAddIn verrà aggiunto in Esplora soluzioni.

Creazione della scheda Componenti aggiuntivi

Per creare la scheda Componenti aggiuntivi, aggiungere un elemento Barra multifunzione (XML) al progetto. Più avanti nella procedura dettagliata 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 dell'elemento in MyRibbon, quindi fare clic su Aggiungi.

    Nella finestra di progettazione verrà aperto il file MyRibbon.cs o MyRibbon.vb. Verrà inoltre aggiunto al progetto 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 scegliere Visualizza codice.

  5. Aggiungere il codice seguente alla classe ThisAddin. Questo codice esegue l'override del metodo CreateRibbonExtensibilityObject e restituisce la classe Ribbon XML all'applicazione di Office.

    Protected Overrides Function CreateRibbonExtensibilityObject() As  _
    Microsoft.Office.Core.IRibbonExtensibility
        Return New MyRibbon()
    End Function
    
    protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
    {
        return new MyRibbon();
    }
    
  6. Fare clic con il pulsante destro del mouse sul progetto MyRibbonAddIn in Esplora soluzioni, quindi scegliere Compila. Verificare che il progetto venga compilato senza errori.

Aggiunta di pulsanti alla scheda Componenti aggiuntivi

L'obiettivo di questo componente aggiuntivo consiste nell'offrire all'utente un modo per aggiungere testo standard e una tabella specifica al documento attivo. Per fornire l'interfaccia utente, è necessario 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 ulteriori informazioni sul file XML Ribbon, vedere Elemento 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, quindi scegliere Apri.

  2. Sostituire il contenuto dell'elemento tab con i dati XML seguenti. Tali dati modificano l'etichetta del gruppo di controlli predefinito su Content e aggiungono due nuovi pulsanti con le etichette Insert Text e Insert Table.

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

Automazione del documento tramite i pulsanti

Affinché i pulsanti Inserisci testo e Inserisci tabella eseguano le azioni corrispondenti quando vengono scelti dall'utente, è necessario aggiungere i metodi di callback onAction. Per ulteriori informazioni sui metodi di callback per i controlli della barra multifunzione, vedere Elemento 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, 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.

    Imports Word = 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 Sub OnTextButton(ByVal control As Office.IRibbonControl)
        Dim currentRange As Word.Range = Globals.ThisAddIn.Application.Selection.Range
        currentRange.Text = "This text was added by the Ribbon."
    End Sub
    
    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 Sub OnTableButton(ByVal control As Office.IRibbonControl)
        Dim missing As Object = System.Type.Missing
    
        Dim currentRange As Word.Range = Globals.ThisAddIn.Application.Selection.Range
        Dim newTable As Word.Table = Globals.ThisAddIn.Application.ActiveDocument.Tables.Add( _
                   currentRange, 3, 4)
    
        ' Get all of the borders except for the diagonal borders.
        Dim borders() As Word.Border = 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.
        For Each border As Word.Border In borders
            border.LineStyle = Word.WdLineStyle.wdLineStyleSingle
            border.Color = Word.WdColor.wdColorBlue
        Next
    End Sub
    
    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;
        }
    }
    

Verifica del componente aggiuntivo

Quando si esegue il progetto, nella barra multifunzione di Word viene visualizzata la scheda denominata Componenti aggiuntivi. Fare clic sui pulsanti Inserisci testo e Inserisci tabella nella scheda Componenti aggiuntivi per verificare il codice.

Per verificare il componente aggiuntivo

  1. Premere F5 per eseguire il progetto.

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

  3. Fare clic sulla scheda Componenti aggiuntivi.

  4. Verificare che il gruppo Contenuto sia visibile nella 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:

Vedere anche

Attività

Procedura dettagliata: creazione di una scheda personalizzata utilizzando la finestra di progettazione della barra multifunzione

Concetti

Elemento XML della barra multifunzione

Altre risorse

Cenni preliminari sulla barra multifunzione