Personalizzazione dei menu e delle barre dei menu in Excel

Il supporto per Office 2003 è terminato

Il supporto Microsoft per Office 2003 è terminato l'8 aprile 2014. Questa modifica ha interessato gli aggiornamenti software e le opzioni di sicurezza. Ulteriori informazioni su come continuare a essere protetti.

Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
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.

CONTENUTO DELL'ATTIVITÀ

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.

Torna all'inizio
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.
Torna all'inizio

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.

Torna all'inizio

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

Torna all'inizio

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

Torna all'inizio

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.IdEnd Sub

Torna all'inizio

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.NameEnd Sub

Torna all'inizio

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 ObjectSub MenuBars_Capture()   Set OriginalMenuBar = CommandBars.ActiveMenuBarEnd Sub

Torna all'inizio

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:=TrueEnd Sub
Torna all'inizio

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 = TrueEnd Sub

Torna all'inizio

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").DeleteEnd Sub

Torna all'inizio

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 = FalseEnd Sub

Torna all'inizio

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 = TrueEnd Sub

Torna all'inizio

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").ResetEnd Sub
Nota È possibile ripristinare solo barre dei menu incorporate. Non è invece possibile ripristinare una barra dei menu personalizzata.

Torna all'inizio

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").ResetEnd Sub
Nota È possibile ripristinare solo barre dei menu incorporate. Non è invece possibile ripristinare una barra dei menu personalizzata.

Torna all'inizio

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

Torna all'inizio

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 = FalseEnd Sub

Torna all'inizio

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 = TrueEnd Sub

Torna all'inizio

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").DeleteEnd Sub

Torna all'inizio

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.ResetEnd Sub

back to the top

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:
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).

Torna all'inizio

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 = TrueEnd Sub
Nota Per rimuovere una barra di separazione, impostare la proprietà BeginGroup su False.

Torna all'inizio

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

Torna all'inizio

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

Torna all'inizio

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 = FalseEnd Sub

Torna all'inizio

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 = TrueEnd Sub

Torna all'inizio

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").DeleteEnd Sub

Torna all'inizio

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:=5End Sub

back to the top

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.

Torna all'inizio

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

Torna all'inizio

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

Torna all'inizio

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 = FalseEnd Sub


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

Torna all'inizio

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").DeleteEnd Sub

Torna all'inizio

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 = FalseEnd Sub
Nota Per attivare il controllo disattivato, impostare la proprietà Enabled su True.

Torna all'inizio

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").DeleteEnd Sub

Torna all'inizio

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.
Torna all'inizio

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,200End Sub
Nota La barra di menu di scelta rapida appare vuota perché non è stato aggiunto alcun controllo (voci di menu o sottomenu).

Torna all'inizio

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.

Torna all'inizio

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,200End Sub

Torna all'inizio

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,200End Sub
Nota Per attivare la voce disattivata, impostare la proprietà Enabled su True.

Torna all'inizio

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,200End Sub

Torna all'inizio

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").DeleteEnd Sub

Torna all'inizio

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").ResetEnd Sub

Torna all'inizio

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.

Torna all'inizio

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, 200End Sub
Nota Il sottomenu è vuoto poiché non è stata aggiunta alcuna voce di menu.

Torna all'inizio

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, 200End Sub

Torna all'inizio

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, 200End Sub
Nota Per attivare una voce disattivata, impostare la proprietà Enabled su True.

Torna all'inizio

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, 200End Sub

Torna all'inizio

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, 200End Sub
Nota Per attivare una voce disattivata, impostare la proprietà Enabled su True.

Torna all'inizio

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, 200End Sub

Torna all'inizio

Ulteriori informazioni

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

Torna all'inizio

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.

Torna all'inizio

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: Torna all'inizio
Proprietà

ID articolo: 830502 - Ultima revisione: 12/08/2015 05:07:15 - Revisione: 4.1

Microsoft Office Excel 2003, Microsoft Excel 2002 Standard Edition, Microsoft Excel 2000 Standard Edition

  • kbnosurvey kbarchive kbhowtomaster KB830502
Feedback