Personalizzazione dei menu e delle barre dei menu in Excel

Traduzione articoli Traduzione articoli
Identificativo articolo: 830502 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo viene descritto come personalizzare menu e barre dei menu in Microsoft Excel 2000 e versioni successive. Vengono inoltre fornite istruzioni dettagliate e codice di esempio per gestire e personalizzare a livello di programmazione barre dei menu, menu, comandi, sottomenu, e menu di scelta rapida in Microsoft Excel.

INTRODUZIONE

Per eseguire molte delle attivitÓ comuni associate alla personalizzazione delle barre dei menu e dei menu in Microsoft Excel 2000, in Microsoft Excel 2002 e in Microsoft Office Excel 2003, utilizzare la finestra di dialogo Personalizza. Per eseguire attivitÓ pi¨ avanzate o per modificare barre dei menu e menu per un programma personalizzato, si consiglia di creare codice di Microsoft Visual Basic, Application Edition (VBA).

Per ulteriori informazioni su come utilizzare la finestra di dialogo Personalizza, scegliere Guida in linea Microsoft Excel dal menu ?, digitare personalizzare la barra dei menu nell'Assistente di Office o nella Ricerca libera, quindi scegliere Cerca per visualizzare l'argomento corrispondente.

In questo articolo vengono forniti suggerimenti sulle tecniche di scrittura di codice VBA per la personalizzazione di barre dei menu, menu, voci di menu, sottomenu e menu di scelta rapida.

Informazioni

Microsoft fornisce esempi di programmazione a scopo puramente illustrativo, senza alcuna garanzia di qualsiasi tipo, sia espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di commerciabilitÓ o idoneitÓ per uno scopo particolare. In questo articolo si presuppone che l'utente conosca il linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug delle procedure. Gli esperti Microsoft sono autorizzati a fornire spiegazioni in merito alla funzionalitÓ di una particolare procedura, ma in nessun caso a modificare questi esempi per fornire funzionalitÓ aggiuntive o a creare procedure atte a soddisfare specifiche esigenze.

Esempi in questo articolo

Negli esempi riportati in questo articolo viene utilizzato codice VBA in Excel 2000, in Excel 2002 e in Excel 2003 per personalizzare i menu. Per utilizzare la macro di esempio, attenersi alla seguente procedura:
  1. Avviare Excel.
  2. Scegliere Macro dal menu Strumenti, quindi fare clic su Visual Basic Editor.
  3. Scegliere Modulo dal menu Inserisci.
  4. Digitare uno degli esempi di macro riportati in questo articolo, oppure copiare e incollare gli esempi di macro in un foglio del modulo.
  5. Scegliere Esegui Sub/UserForm dal menu Esegui.
  6. Se viene visualizzata la finestra di dialogo Macro, fare clic sul nome della macro, quindi scegliere Esegui.

Barre dei comandi

In Microsoft Office le barre degli strumenti, le barre dei menu e i menu di scelta rapida sono controllati a livello di programmazione come un solo tipo di oggetto: barre dei comandi. Tutti gli oggetti seguenti sono rappresentati in VBA da oggetti CommandBar:
  • Barre dei menu, barre degli strumenti e menu di scelta rapida.
  • Menu su barre dei menu e barre degli strumenti.
  • Sottomenu in menu, sottomenu e menu di scelta rapida.
╚ possibile modificare qualsiasi barra dei menu o degli strumenti incorporata e creare e modificare barre degli strumenti, barre dei menu e menu di scelta rapida personalizzati tramite il codice VBA. Le caratteristiche del programma vengono presentate come pulsanti individuali oppure come gruppi di nomi di comandi nei menu. PoichÚ sia le barre degli strumenti sia i menu sono barre dei comandi, viene utilizzato lo stesso tipo di controllo.

In VBA e in Microsoft Visual Basic le voci dei menu e i pulsanti vengono rappresentati da oggetti CommandBarButton. I controlli popup che consentono di visualizzare menu e sottomenu sono rappresentati da oggetti CommandBarPopup. Negli esempi seguenti il controllo denominato "Menu" e il controllo denominato "Sottomenu" sono entrambi controlli popup che consentono di visualizzare un menu e un sottomenu. Menu e sottomenu sono oggetti CommandBar unici con il proprio set di controlli.

In Microsoft Excel le barre dei menu e le barre degli strumenti sono dello stesso tipo di oggetto programmabile, l'oggetto CommandBar. Vengono utilizzati i controlli nell'oggetto CommandBar per fare riferimento a menu, voci di menu, sottomenu e menu di scelta rapida. Viene utilizzata una costante con ogni controllo nell'argomento Type per specificare il tipo di controllo che si desidera utilizzare per il menu, il sottomenu o il comando.

Costanti di controllo

Di seguito viene riportato un elenco delle diverse costanti di controllo in Excel 2003 che consentono di specificare il tipo di controllo grafico da utilizzare per un particolare controllo della barra dei menu:
  • MsoControlActiveX*
  • MsoControlAutoCompleteCombo***
  • MsoControlButton
  • MsoControlButtonDropdown
  • MsoControlButtonPopup
  • MsoControlComboBox
  • MsoControlCustom
  • MsoControlDropdown
  • MsoControlEdit
  • MsoControlExpandingGrid
  • MsoControlGauge
  • MsoControlGenericDropdown
  • MsoControlGraphicCombo
  • MsoControlGraphicDropdown
  • MsoControlGraphicPopup
  • MsoControlGrid
  • MsoControlLabel
  • MsoControlLabelEx***
  • MsoControlOCXDropDown
  • MsoControlPane **
  • MsoControlPopup
  • MsoControlSpinner***
  • MsoControlSplitButtonMRUPopup
  • MsoControlSplitButtonPopup
  • MsoControlSplitDropdown
  • MsoControlSplitExpandingGrid
  • MsoControlWorkPane**
*=Nuovo in Microsoft Excel 2000
**= Nuovo in Microsoft Excel 2002
***=Nuovo in Microsoft Office Excel 2003

Barre dei menu

Una barra dei menu Ŕ un tipo di barra dei comandi. Una barra dei menu Ŕ il tipo di oggetto nel quale si aggiungono menu, voci di menu e sottomenu.

Per ulteriori informazioni su come gestire barre dei menu e voci di menu in Excel, attenersi alla seguente procedura:
  1. Avviare Microsoft Visual Basic Editor.
  2. Scegliere Guida in linea Microsoft Visual Basic dal menu ?.
  3. Nella casella dell'Assistente di Office o della Ricerca libera digitare Barre dei menu, quindi scegliere Cerca.
  4. In Excel 2003 e in Excel 2002 fare clic sull'argomento relativo all'aggiunta e alla gestione di barre dei menu e di voci di menu. In Excel 2000 fare clic su Informazioni su menu e barre degli strumenti.
╚ possibile modificare la barra dei menu e i controlli sulla barra stessa in fase di runtime. Le modifiche apportate alla barra dei menu possono interessare l'aspetto o la posizione della barra stessa. Le modifiche apportate ai controlli dipendono dal tipo di controllo. Nella tabella seguente vengono elencate le proprietÓ pi¨ comuni e i metodi comuni per modificare lo stato, l'azione o i contenuti di un controllo:
Riduci questa tabellaEspandi questa tabella
ProprietÓ o metodoScopo
AddConsente di aggiungere una barra dei menu utilizzando il metodo Add dell'insieme di oggetti CommandBars e specificando il valore TRUE per l'argomento Menubar.
EnabledSe la proprietÓ Enabled Ŕ impostata sul valore TRUE, l'utente pu˛ rendere visibile la barra dei menu specificata utilizzando il codice Visual Basic. Se la proprietÓ Enabled Ŕ impostata sul valore FALSE, l'utente non pu˛ rendere visibile la barra dei menu. Tuttavia la barra dei menu verrÓ visualizzata nell'elenco delle barre dei comandi disponibili.
ProtectionConsente di proteggere la barra dei menu da specifiche azioni dell'utente.
PositionConsente di specificare la posizione della nuova barra dei menu rispetto alla finestra del programma. Questa posizione pu˛ essere una delle seguenti proprietÓ della costante MsoBarPosition: msoBarLeft, msoBarTop, msoBarRight, msoBarBottom, msoBarFloating, msoBarPopup (utilizzata per creare menu di scelta rapida) oppure msoBarMenuBar (per l'utilizzo solo con Apple Macintosh).
VisibleConsente di specificare se il controllo Ŕ visibile o nascosto.

Restituire un ID per un controllo della barra dei comandi

Il seguente codice di esempio consente di restituire un ID per la barra dei menu attiva:
Sub Id_Control ()
Dim myId as Object
   set myId = CommandBars("Worksheet Menu Bar").Controls("Tools")
   MsgBox myId.Caption & Chr(13) & MyId.Id
End Sub

Determinare il nome della barra dei menu attiva

Il seguente codice di esempio consente di restituire il nome della barra dei menu attiva:
Sub MenuBars_GetName()
   MsgBox CommandBars.ActiveMenuBar.Name
End Sub

Salvare lo stato attivo (per barre dei menu incorporate o personalizzate)

Pu˛ essere utile dichiarare come pubblica la variabile OriginalMenuBar in modo che possa essere utilizzata da una subroutine in un'altra subroutine quale Auto_Close. Se si dichiara e si utilizza la variabile in questo modo, viene reimpostata la precedente barra dei menu dell'utente allo stato originale. La macro di esempio seguente consente di reimpostare la barra dei menu:
Public OriginalMenuBar as Object

Sub MenuBars_Capture()
   Set OriginalMenuBar = CommandBars.ActiveMenuBar
End Sub

Creare una barra dei comandi personalizzata

Con il codice di esempio seguente Ŕ possibile creare una barra dei comandi personalizzata denominata My Command Bar:
Sub MenuBar_Create() Application.CommandBars.Add Name:="My command bar" End Sub

╚ inoltre possibile creare una barra dei comandi personalizzata utilizzando l'argomento Temporary:=True. L'argomento Temporary:=True consente di reimpostare automaticamente le barre dei comandi quando si chiude Excel. Con il seguente codice di esempio viene utilizzato l'argomento Temporary:=True per creare una barra dei comandi personalizzata:
Sub MenuBar_Create()
Application.CommandBars.Add Name:="My command bar", Temporary:=True
End Sub

Visualizzare una barra dei comandi personalizzata

L'esempio seguente consente di creare e visualizzare una barra dei menu personalizzata My Custom Bar, quindi di sostituire la barra dei menu incorporata:
Sub MenuBar_Show()
Dim myNewBar As Object
   Set myNewBar = CommandBars.Add(Name:="Custom1", Position:=msoBarFloating)
   ' You must first enable your custom menu bar before you make it visible.
   ' Enabling a menu bar adds it to the list of available menu bars on
   ' the Customize dialog box.
' Setting the menubar property to True replaces the built-in menu bar.
   myNewBar.Enabled = True
   myNewBar.Visible = True
End Sub

Eliminare una barra dei comandi personalizzata

Il codice di esempio seguente consente di eliminare la barra dei menu personalizzata denominata Custom 1:
Sub MenuBar_Delete()
   CommandBars("Custom1").Delete
End Sub

Nascondere una barra dei comandi

Con il seguente codice di esempio viene rimossa la barra dei menu Chart incorporata dall'elenco delle barre dei menu disponibili:
Sub MenuBar_Display()
   CommandBars("Chart").Enabled = False
End Sub

Visualizzare una barra dei comandi

Con il seguente codice di esempio Ŕ possibile aggiungere la barra dei menu incorporata Chart dall'elenco delle barre dei menu disponibili:
Sub MenuBar_Display()
   CommandBars("Chart").Enabled = True
End Sub

Ripristinare una barra dei comandi incorporata

Quando si ripristina una barra dei menu, vengono reimpostati i controlli predefiniti, sia per i menu sia per le voci di menu. Il seguente codice di esempio consente di ripristinare la barra dei menu incorporata Chart:
Sub MenuBar_Restore()
   CommandBars("Chart").Reset
End Sub
Nota ╚ possibile ripristinare solo barre dei menu incorporate. Non Ŕ invece possibile ripristinare una barra dei menu personalizzata.

Menu

Con il ripristino di una barra dei menu vengono reimpostati i controlli predefiniti, sia per i menu sia per le voci di menu. Il seguente codice di esempio consente di ripristinare la barra dei menu incorporata Chart:

Sub MenuBar_Restore()
   CommandBars("Chart").Reset
End Sub
Nota ╚ possibile ripristinare solo barre dei menu incorporate. Non Ŕ invece possibile ripristinare una barra dei menu personalizzata.

Aggiungere un controllo di menu personalizzato a una barra dei comandi

Il seguente codice di esempio consente di aggiungere il nome di un menu che viene aggiunto a livello di programmazione alla barra dei menu Worksheet. Ad esempio, con questo codice viene aggiunto il nome del menu New Menu alla barra dei menu Worksheet.

Nota ╚ possibile assegnare a questo menu qualsiasi nome desiderato.
Sub Menu_Create()
Dim myMnu As Object
   Set myMnu = CommandBars("Worksheet menu bar").Controls. _
      Add(Type:=msoControlPopup, before:=3)
   With myMnu
   ' The "&" denotes a shortcut key assignment (Alt+M in this case).
      .Caption = "New &Menu"
   End With
End Sub

Disattivare un controllo di menu su una barra dei comandi

Un controllo di menu disattivato viene visualizzato in grigio e non Ŕ disponibile su una barra dei comandi. Il seguente esempio consente di disattivare il menu New Menu:
Sub Menu_Disable()
   CommandBars("Worksheet menu bar").Controls("New &Menu").Enabled = False
End Sub

Attivare un controllo di menu su una barra dei comandi

Il codice di esempio seguente consente di attivare il menu New Menu disattivato nella sezione "Disattivare un controllo di menu su una barra dei comandi":
Sub Menu_Disable()
   CommandBars("Worksheet menu bar").Controls("New &Menu").Enabled = True
End Sub

Eliminare un controllo di menu su una barra dei comandi

Il codice di esempio seguente consente di eliminare il menu New Menu creato nella sezione "Aggiungere un controllo di menu personalizzato a una barra dei comandi" dalla barra dei menu Worksheet:
Sub Menu_Delete()
   CommandBars("Worksheet menu bar").Controls("New &Menu").Delete
End Sub

Ripristinare un controllo di menu su una barra dei comandi

Il codice di esempio seguente consente di ripristinare la barra dei menu incorporata Chart sulla barra dei menu Worksheet:
Sub Menu_Restore()
Dim myMnu As Object
   Set myMnu = CommandBars("Chart")
   myMnu.Reset
End Sub

Comandi

La gamma di modifiche che Ŕ possibile apportare a un comando dipende dal tipo di controllo. In genere i pulsanti sono attivati o nascosti. Caselle di modifica, caselle di riepilogo a discesa e caselle combinate consentono maggiore versatilitÓ quando si tratta di aggiungere o eliminare voci dall'elenco. ╚ inoltre possibile determinare l'azione eseguita controllando il valore delle voci selezionate dall'elenco. ╚ possibile modificare l'azione di qualsiasi controllo in una funzione incorporata o personalizzata.

Nella tabella seguente sono elencate le proprietÓ pi¨ comuni di un controllo e i metodi utilizzati per modificare lo stato, l'azione o il contenuto di un controllo:
Riduci questa tabellaEspandi questa tabella
ProprietÓ o metodoScopo
AddConsente di aggiungere un comando a una barra dei comandi.
AddItemConsente di aggiungere una voce all'elenco a discesa che fa parte di una casella di riepilogo a discesa o di una casella combinata.
StyleConsente di specificare se nell'immagine del pulsante viene visualizzata un'icona o testo.
OnActionConsente di specificare la procedura da eseguire quando l'utente modifica il valore del controllo.
VisibleConsente di specificare se il controllo Ŕ visibile o nascosto.

Per ulteriori informazioni sui menu in Excel 2003 e in Excel 2002, attenersi alla seguente procedura:
  1. Avviare Visual Basic Script Editor.
  2. Scegliere Guida in linea Microsoft Visual Basic dal menu ?.
  3. Nella casella Cerca della Guida digitare menu, quindi premere INVIO.
  4. Fare clic su Aggiunta e gestione di barre dei menu e di voci di menu (Office).

Aggiungere una barra di separazione a un controllo di menu

Il codice di esempio seguente consente di aggiungere una barra di separazione prima del comando Worksheet del menu Insert:
Sub menuItem_AddSeparator()
   CommandBars("Worksheet menu bar").Controls("Insert") _
   .Controls("Worksheet").BeginGroup = True
End Sub
Nota Per rimuovere una barra di separazione, impostare la proprietÓ BeginGroup su False.

Creare un controllo di comando personalizzato in un menu

Con il codice di esempio seguente Ŕ possibile creare un nuovo comando denominato Custom1 nel menu Tools della barra dei menu Worksheet, quindi eseguire la macro Code_Custom1 quando si fa clic su Custom1:
Sub menuItem_Create()
   With CommandBars("Worksheet menu bar").Controls("Tools")
      .Controls.Add(Type:=msoControlButton, Before:=1).Caption = "Custom1"
      .Controls("Custom1").OnAction = "Code_Custom1"
   End With
End Sub

Inserire un segno di spunta in corrispondenza di un controllo di comando

Il codice di esempio seguente consente di inserire un segno di spunta in corrispondenza del comando Custom1 se non Ŕ selezionato, quindi di rimuoverlo se Custom1 Ŕ selezionato:
Sub menuItem_checkMark()
Dim myPopup as Object

   Set myPopup = CommandBars("Worksheet menu bar").Controls("Tools")
   If myPopup.Controls("Custom1").State = msoButtonDown Then
      ' Remove check mark next to menu item.
      myPopup.Controls("Custom1").State = msoButtonUp
      MsgBox "Custom1 is now unchecked"
      Else
        ' Add check mark next to menu item.
         myPopup.Controls("Custom1").State = msoButtonDown
         MsgBox "Custom1 is now checked"
    End If
End Sub

Disattivare un controllo di comando su una barra dei comandi

Il codice di esempio seguente consente di disattivare il comando Custom1 creato nel menu Tools nella sezione "Creare un controllo di comando personalizzato in un menu":
Sub MenuItem_Disable()
Dim myCmd as Object
   Set myCmd = CommandBars("Worksheet menu bar").Controls("Tools")
   myCmd.Controls("Custom1").Enabled = False
End Sub

Attivare un controllo di comando su una barra dei comandi

Il codice di esempio seguente consente di attivare il comando Custom1 disattivato nella sezione "Disattivare un controllo di comando su una barra dei comandi":
Sub MenuItem_Enable()
Dim myCmd as Object
   Set myCmd = CommandBars("Worksheet menu bar").Controls("Tools")
   myCmd.Controls("Custom1").Enabled = True
End Sub

Eliminare un controllo di comando in un menu

Il seguente codice di esempio consente di eliminare il comando Save dal menu File:
Sub menuItem_Delete()
Dim myCmd As Object
   Set myCmd = CommandBars("Worksheet menu bar").Controls("File")
   myCmd.Controls("Save").Delete
End Sub

Ripristinare un controllo di comando incorporato in un menu

Per ripristinare un controllo di comando in un menu, Ŕ necessario conoscere il numero dell'identificativo (ID) del controllo. Per determinare il numero ID, vedere la sezione"Restituire un ID per un controllo della barra dei comandi". L'esempio seguente consente di eliminare, quindi ripristinare il comando Save eliminato nella sezione "Eliminare un controllo di comando in un menu":
Sub menuItem_Restore()
Dim myCmd As Object
   Set myCmd = CommandBars("Worksheet menu bar").Controls("File")
   ' Id 3 refers to the Save menu item control.
   myCmd.Controls.Add Type:=msoControlButton, ID:=3, Before:=5
End Sub

Sottomenu

I sottomenu vengono visualizzati a lato del menu principale quando si fa clic su un comando. Un comando corrispondente a un controllo di sottomenu viene visualizzato con una piccola freccia nera posizionata all'estremitÓ destra del nome del comando.

Aggiungere un sottomenu

Il codice di esempio seguente consente di aggiungere un nuovo sottomenu denominato NewSub al menu Tools sulla barra dei menu Worksheet:
Sub SubMenu_Create()
Dim newSub as Object
   Set newSub = CommandBars("Worksheet menu bar").Controls("Tools")
   With newSub
      .Controls.Add(Type:=msoControlPopup, Before:=1).Caption="NewSub"
   End With
End Sub

Aggiungere un comando a un sottomenu

Il codice di esempio seguente consente di aggiungere un nuovo comando denominato SubItem1 al sottomenu NewSub, quindi di eseguire la macro Code_SubItem1 quando si fa clic su SubItem1:
Sub SubMenu_AddItem()
Dim newSubItem as Object
   Set newSubItem = CommandBars("Worksheet menu bar") _
   .Controls("Tools").Controls("NewSub")
   With newSubItem
      .Controls.Add(Type:=msoControlButton, Before:=1).Caption = "SubItem1"
      .Controls("SubItem1").OnAction = "Code_SubItem1"
   End With
End Sub

Disattivare un controllo di comando in un sottomenu

Il codice di esempio seguente consente di disattivare il comando SubItem creato nella sezione "Aggiungere un comando a un sottomenu":

Sub SubMenu_DisableItem()
   CommandBars("Worksheet menu bar").Controls("Tools") _
   .Controls("NewSub").Controls("SubItem1").Enabled = False
End Sub


L'esempio seguente consente di attivare il medesimo comando:
Sub SubMenu_DisableItem()
   CommandBars("Worksheet menu bar").Controls("Tools") _
   .Controls("NewSub").Controls("SubItem1").Enabled = True
End Sub

Eliminare un comando in un sottomenu

Con il codice di esempio seguente Ŕ possibile eliminare il comando SubItem1 creato nel sottomenu NewSub nella sezione "Aggiungere un comando a un sottomenu":
Sub SubMenu_DeleteItem()
   CommandBars("Worksheet menu bar").Controls("Tools") _
   .Controls("NewSub").Controls("SubItem1").Delete
End Sub

Disattivare un controllo di sottomenu

Il codice di esempio seguente consente di disattivare il sottomenu NewSub creato nel menu Tools nella sezione "Aggiungere un sottomenu":
Sub SubMenu_DisableSub()
   CommandBars("Worksheet menu bar").Controls("Tools") _
   .Controls("NewSub").Enabled = False
End Sub
Nota Per attivare il controllo disattivato, impostare la proprietÓ Enabled su True.

Eliminare un controllo di sottomenu

Il codice di esempio seguente consente di eliminare il sottomenu NewSub creato nel menu Tools nella sezione "Aggiungere un sottomenu":
Sub SubMenu_DeleteSub()
   CommandBars("Worksheet menu bar").Controls("Tools") _
   .Controls("NewSub").Delete
End Sub

Barre dei menu di scelta rapida

Un menu di scelta rapida Ŕ una barra di comando mobile che viene visualizzata quando l'utente fa clic con il pulsante destro del mouse su un oggetto. Una barra di menu di scelta rapida pu˛ contenere i medesimi tipi di controllo di una barra dei comandi e i controlli hanno lo stesso comportamento di quelli presenti su una barra dei comandi. Nella maggior parte dei programmi non Ŕ possibile creare o modificare menu di scelta rapida dall'interfaccia del programma. ╚ quindi necessario creare e modificare i menu di scelta rapida in fase di runtime.

Per ulteriori informazioni sui menu di scelta rapida in Excel 2002 e in Excel 2003, attenersi alla seguente procedura:
  1. Avviare Visual Basic Script Editor.
  2. Scegliere Guida in linea Microsoft Visual Basic dal menu ?.
  3. Nella casella Cerca della Guida digitare scelta rapida, quindi premere INVIO.
  4. Fare clic su Aggiunta e visualizzazione di menu di scelta rapida.

Creare una nuova barra di menu di scelta rapida

Con il codice di esempio seguente Ŕ possibile creare una nuova barra dei menu di scelta rapida denominata myShortcutBar:

Sub Shortcut_Create()
Dim myShtCtBar as Object
   Set myShtCtBar = CommandBars.Add(Name:="myShortcutBar", _
   Position:=msoBarPopup)
   ? This displays the shortcut menu bar.
   ? 200, 200 refers to the screen position in pixels as x and y coordinates.
   myShtCtBar.ShowPopup 200,200
End Sub

Nota La barra di menu di scelta rapida appare vuota perchÚ non Ŕ stato aggiunto alcun controllo (voci di menu o sottomenu).

Menu di scelta rapida

Le barre di menu di scelta rapida vengono visualizzate quando si utilizza il pulsante destro del mouse per fare clic su un oggetto specifico di Excel. In Excel sono presenti numerose barre di menu di scelta rapida per le quali sono disponibili diversi menu. ╚ inoltre possibile creare barre dei menu personalizzate e personalizzare le barre dei menu incorporate.

Creare un comando su una barra di menu di scelta rapida

Con il codice di esempio seguente Ŕ possibile creare un nuovo comando di menu denominato Item1 sulla barra di menu di scelta rapida myShortcutBar ed eseguire la macro Code_Item1 quando si fa clic su Item1:
Sub Shortcut_AddItem()
Dim myBar as Object
   Set myBar = CommandBars("myShortcutBar")
   With myBar
      .Controls.Add (Type:=msoControlButton, before:=1).Caption = "Item1"
      .Controls("Item1").OnAction = "Code_Item1"
   End With
   myBar.ShowPopup 200,200
End Sub

Disattivare un controllo di comando su una barra di menu di scelta rapida

Il codice di esempio seguente consente di disattivare il comando Item1 creato nella sezione "Creare un comando su una barra di menu di scelta rapida":
Sub Shortcut_DisableItem()
   Set myBar = CommandBars("myShortcutBar")
   myBar.Controls("Item1").Enabled = False
   myBar.ShowPopup 200,200
End Sub
Nota Per attivare la voce disattivata, impostare la proprietÓ Enabled su True.

Eliminare un comando su una barra di menu di scelta rapida

Il codice di esempio seguente consente di eliminare il comando di menu denominato Item1 sulla barra di menu di scelta rapida myShortcutBar:
Sub Shortcut_DeleteItem()
   Set myBar = CommandBars("myShortcutBar")
   myBar.Controls("Item1").Delete
   myBar.ShowPopup 200,200
End Sub

Eliminare una barra di menu di scelta rapida

L'eliminazione della barra di menu di scelta rapida comporta la rimozione di tutte le voci. Non Ŕ possibile ripristinare una barra dei menu personalizzata. Per ripristinarla Ŕ necessario ricreare la barra stessa, tutte le voci di menu e i sottomenu.

Il codice di esempio seguente consente di eliminare la barra di menu di scelta rapida myShortCutBar creata nella sezione "Creare un comando su una barra di menu di scelta rapida":
Sub Shortcut_DeleteShortCutBar()
   CommandBars("MyShortCutBar").Delete
End Sub

Ripristinare un comando su una barra di menu di scelta rapida incorporata

Il seguente codice di esempio consente di ripristinare i comandi predefiniti sulla barra dei menu di scelta rapida Cell del foglio di lavoro:
Sub Shortcut_RestoreItem()
   CommandBars("Cell").Reset
End Sub

Sottomenu nei menu di scelta rapida

╚ possibile creare sottomenu sulle barre di menu di scelta rapida. I sottomenu vengono visualizzati a lato del menu principale quando si fa clic su un controllo di comando. Un comando corrispondente a un controllo di sottomenu viene visualizzato con una piccola freccia nera posizionata a destra del nome del comando.

Creare un nuovo sottomenu su una barra di menu di scelta rapida

L'esempio seguente consente di aggiungere un nuovo sottomenu denominato NewSub al menu di scelta rapida Cell del foglio di lavoro:
Sub ShortcutSub_Create()
   CommandBars("Cell").Controls.Add(Type:=msoControlPopup, before:=1) _
   .Caption = "NewSub"
    ' This displays the shortcut menu bar.
    ' 200, 200 refers to the screen position in pixels as x and y coordinates.
   CommandBars("Cell").ShowPopup 200, 200
End Sub
Nota Il sottomenu Ŕ vuoto poichÚ non Ŕ stata aggiunta alcuna voce di menu.

Creare un controllo di comando in un sottomenu su una barra di menu di scelta rapida

La macro seguente consente di aggiungere il comando SubItem1 al sottomenu NewSub creato nel menu di scelta rapida Cell, quindi di eseguire la macro Code_SubItem1 quando si fa clic su SubItem1:
Sub ShortcutSub_AddItem()
Dim newSubItem as Object
   Set newSubItem = CommandBars("Cell").Controls("NewSub?)
   With newSubItem
      .Controls.Add(Type:=msoControlButton, before:=1).Caption = "subItem1"
      ' This will run the subItem1_Code macro when subItem1 is clicked.
      .Controls("subItem1").OnAction = "Code_subItem1"
   End With
   ' This displays the Cell shortcut menu bar.
   ' 200, 200 refers to the screen position in pixels as x and y coordinates
   CommandBars("Cell").ShowPopup 200, 200
End Sub

Disattivare un controllo di un elemento di sottomenu in un menu di scelta rapida

Con il codice di esempio seguente Ŕ possibile disattivare il comando SubItem1 nel sottomenu NewSub:
Sub ShortcutSub_DisableItem()
   CommandBars("Cell").Controls("NewSub") _
   .Controls("subItem1").Enabled = False
   ' This displays the Cell shortcut menu bar.
   ' 200, 200 refers to the screen position in pixels as x and y coordinates.
   CommandBars("Cell").ShowPopup 200, 200
End Sub
Nota Per attivare una voce disattivata, impostare la proprietÓ Enabled su True.

Eliminare un controllo di un elemento di sottomenu in un menu di scelta rapida

Con l'esempio seguente Ŕ possibile eliminare il comando SubItem1 dal sottomenu NewSub:
Sub ShortcutSub_DeleteItem()
   CommandBars("Cell").Controls("NewSub").Controls("subItem1").Delete
   ' This displays the Cell shortcut menu bar.
   ' 200, 200 refers to the screen position in pixels as x and y coordinates.
   CommandBars("Cell").ShowPopup 200, 200
End Sub

Disattivare un controllo di sottomenu in un menu di scelta rapida

Il codice di esempio seguente consente di disattivare il sottomenu NewSub sulla barra di menu di scelta rapida Cell:
Sub ShortcutSub_DisableSub()
   CommandBars("Cell").Controls("NewSub").Enabled = False
   ' This displays the Cell shortcut menu bar.
   ' 200, 200 refers to the screen position in pixels as x and y coordinates.
   CommandBars("Cell").ShowPopup 200, 200
End Sub
Nota Per attivare una voce disattivata, impostare la proprietÓ Enabled su True.

Eliminare un controllo di sottomenu in un menu di scelta rapida

Il codice di esempio seguente consente di eliminare il sottomenu NewSub creato sulla barra di menu di scelta rapida Cell:
Sub ShortcutSub_DeleteSub()
   CommandBars("Cell").Controls("NewSub").Delete
   ' This displays the Cell shortcut menu bar.
   ' 200, 200 refers to the screen position in pixels as x and y coordinates.
   CommandBars("Cell").ShowPopup 200, 200
End Sub

Ulteriori informazioni

Per ulteriori informazioni su come personalizzare menu e barre dei menu in Excel sono disponibili le seguenti risorse.

Visualizzatore oggetti

Nel visualizzatore oggetti Ŕ disponibile un elenco completo di tutte le proprietÓ e di tutti i metodi per un comando specifico. Per ottenere queste informazioni, passare a Visual Basic Editor (premere ALT+F11), scegliere Visualizzatore oggetti dal menu Visualizza (oppure premere F2), digitare il nome del controllo nella casella Cerca, quindi premere INVIO oppure fare clic su Cerca.

Microsoft Knowledge Base

La Microsoft Knowledge Base Ŕ una delle principali fonti di informazione sui prodotti Microsoft per i professionisti del Servizio Supporto Tecnico Clienti Microsoft. La Microsoft Knowledge Base Ŕ inoltre disponibile per i clienti di Microsoft. Questo database completo contiene articoli dettagliati con informazioni tecniche su prodotti Microsoft, elenchi delle correzioni documentate, errori di documentazione e risposte alle domande rivolte pi¨ di frequente al supporto tecnico.

Per accedere alla Microsoft Knowledge Base, visitare il seguente sito Web Microsoft e attenersi alle istruzioni visualizzate nella pagina:
http://support.microsoft.com

ProprietÓ

Identificativo articolo: 830502 - Ultima modifica: lunedý 28 agosto 2006 - Revisione: 4.1
Le informazioni in questo articolo si applicano a
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
Chiavi:á
kbhowtomaster KB830502
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com