È possibile usare le macro di Access per creare menu di scelta rapida personalizzati che vengono visualizzati quando si fa clic con il pulsante destro del mouse su maschere, report o singoli controlli. È anche possibile creare menu personalizzati che vengono visualizzati sulla barra multifunzione per maschere o report specifici.
Per creare un menu usando le macro, eseguire tre passaggi principali:
-
Create un oggetto macro con sottomacro che contengono i comandi di menu.
-
Create un altro oggetto macro che crea il menu stesso.
-
Allegare il menu a un controllo, a una maschera, a un report o al database nel suo complesso.
Le sezioni seguenti decorrono questi passaggi in dettaglio.
Suggerimento: Per informazioni su come creare menu di scelta rapida personalizzati in Access usando codice di Visual Basic, Applications Edition (VBA), vedere l'articolo Create un menu di scelta rapida per una maschera, un controllo maschera o un report.
Passaggio 1: Create un oggetto macro con sottomacro che contengono i comandi di menu
In questo passaggio si crea un oggetto macro con sottomacro, ognuna delle quali sarà un comando separato nel menu di scelta rapida.
Che cos'è una sottomacro?
È possibile usare una sottomacro all'interno di un oggetto macro per definire un set di azioni di macro. Le sottomacro all'interno di un oggetto macro possono essere chiamate separatamente dai vari eventi di controllo e oggetto. Le singole sottomacro all'interno di un oggetto macro hanno un nome univoco e possono contenere una o più azioni di macro.
-
Nel gruppo Macro e codice della scheda Crea fare clic su Macro.
-
Per ogni comando desiderato nel menu di scelta rapida personalizzato:
-
Aggiungere un'istruzione Macro Sottomacro alla finestra di progettazione macro e assegnare alla sottomacro il nome da visualizzare nel menu di scelta rapida, ad esempio "Stampa" o "Aggiorna".
Suggerimento: Per creare un tasto di scelta in modo da poter usare la tastiera per scegliere il comando, digitare una e commerciale (&) prima della lettera che si vuole impostare come tasto di scelta nel nome del comando, ad esempio "&Aggiorna". Questa lettera sarà sottolineata nel menu.
-
All'interno della sottomacro selezionare la prima azione da eseguire quando si fa clic sul comando nel menu di scelta rapida.
-
Se si vogliono eseguire più azioni quando si seleziona questo comando, aggiungerle come azioni di macro separate nella stessa sottomacro.
-
-
Salvare e assegnare un nome all'oggetto macro, ad esempio mcrShortcutMenuCommands.
La figura seguente mostra un oggetto macro di esempio con tre sottomacro per un menu personalizzato o un menu di scelta rapida.
Passaggio 2: Create un secondo oggetto macro che crea il menu
Questo passaggio può sembrare ridondante, ma per creare il menu di scelta rapida dall'oggetto macro creato nel passaggio 1 è necessario creare un secondo oggetto macro contenente l'azione di macro AggiungiMenu. Questa azione di macro viene a volte definita "macro di menu".
-
Nel gruppo Macro e codice della scheda Crea fare clic su Macro.
-
Nella casella combinata Aggiungi nuova azione della finestra di progettazione macro selezionare AggiungiMenu.
-
Nella casella dell'argomento Nome menu dell'azione di macro AggiungiMenu digitare il nome del menu, ad esempio "Comandi maschera". Questo argomento non è obbligatorio, ma è consigliato se nel passaggio 3 si prevede di aggiungere il menu a una scheda della barra multifunzione, ad esempio la scheda Componenti aggiuntivi di una maschera o di un report. Se il menu viene aggiunto come menu di scelta rapida nel passaggio 3, l'argomento Nome menu viene ignorato.
-
Nella casella dell'argomento Nome macro menu immettere il nome dell'oggetto macro creato nel passaggio 1.
-
Salvare e denominare questo secondo oggetto macro, ad esempio mcrAddShortcutMenu.
La figura seguente mostra un esempio di oggetto macro di menu che crea il menu progettato nel passaggio 1.
Passaggio 3: Collegare il menu a un controllo, una maschera, un report o un database
A seconda della posizione in cui si vuole visualizzare il menu, usare una o più delle procedure seguenti.
Aggiungere il menu alla scheda Add-Ins di una maschera o di un report
Usare questa procedura se si vuole che il menu venga visualizzato nella scheda Componenti aggiuntivi per una maschera o un report specifico.
-
Nel riquadro di spostamento fare clic con il pulsante destro del mouse sulla maschera o sul report in cui si vuole visualizzare il menu e quindi scegliere Visualizzazione Struttura.
-
Nel gruppo Strumenti della scheda Progettazione fare clic su Finestra delle proprietà.
-
Selezionare l'intero oggetto selezionando Maschera o Report nell'elenco nella parte superiore del riquadro attività Finestra delle proprietà.
-
Nella casella della proprietà Barra dei menu della scheda Altro della finestra delle proprietà digitare il nome dell'oggetto macro creato nel passaggio 2, in questo esempio "mcrAddShortcutMenu".
-
Salvare le modifiche apportate alla maschera o al report.
La volta successiva che si apre la maschera o il report, sulla barra multifunzione viene visualizzata la scheda Componenti aggiuntivi . Fare clic sulla scheda per visualizzare il menu, come illustrato nella figura seguente:
Per altre informazioni sulle tecniche di personalizzazione della barra multifunzione, ad esempio sull'aggiunta di schede personalizzate o sulla nascondere le schede predefinite, vedere l'articolo Create una barra multifunzione personalizzata in Access.
Aggiungere il menu come menu di scelta rapida per una maschera, un report o un controllo
Usare questa procedura se si vuole che il menu venga visualizzato quando si fa clic con il pulsante destro del mouse su una maschera, un report o un controllo specifico.
-
Nel riquadro di spostamento fare clic con il pulsante destro del mouse sulla maschera o sul report in cui si vuole visualizzare il menu di scelta rapida e quindi scegliere Visualizzazione Struttura.
-
Nel gruppo Strumenti della scheda Progettazione fare clic su Finestra delle proprietà.
-
Selezionare il controllo o l'oggetto a cui si vuole collegare il menu di scelta rapida.
Per selezionare l'intero oggetto, selezionare Maschera o Report nell'elenco nella parte superiore del riquadro attività Finestra delle proprietà.
-
Nella casella della proprietà Barra dei menu di scelta rapida della scheda Altro della finestra delle proprietà digitare il nome dell'oggetto macro creato nel passaggio 2, in questo esempio "mcrAddShortcutMenu".
-
Verificare che la proprietà Menu di scelta rapida sia impostata su Sì.
-
Salvare le modifiche apportate alla maschera o al report.
La volta successiva che si apre la maschera o il report e si fa clic con il pulsante destro del mouse sulla maschera, sul report o sul controllo, verrà visualizzato il menu di scelta rapida con i comandi associati, come illustrato nella figura seguente:
Aggiungere il menu come menu di scelta rapida globale
Questa procedura sostituisce tutti i menu di scelta rapida predefiniti nel database corrente. I menu di scelta rapida personalizzati allegati a maschere, report o controlli specifici non sono interessati.
-
Fare clic su File > Opzioni.
-
Nella finestra di dialogo Opzioni di Access fare clic su Database corrente.
-
Nella casella Barra dei menu di scelta rapida in Opzioni barra multifunzione e barra degli strumenti digitare il nome della macro creata nel passaggio 2 (in questo esempio "mcrAddShortcutMenu").
-
Fare clic su OK per salvare le modifiche nella finestra di dialogo Opzioni di Access .
-
Chiudere e riaprire il database per rendere effettive le modifiche.
I menu di scelta rapida personalizzati sostituiscono i menu di scelta rapida predefiniti per gli oggetti a cui sono collegati. Se si vogliono mantenere determinati comandi di Access da usare in questi menu, usare l'azione di macro EseguiComando per inserire i comandi negli oggetti macro dei menu in cui si desidera inserirli.
Un menu di scelta rapida personalizzato collegato a un controllo sostituisce tutti gli altri menu di scelta rapida personalizzati definiti nel database. Un menu di scelta rapida personalizzato collegato a una maschera o a un report sostituisce un menu di scelta rapida globale personalizzato.
Quando si specifica una macro di menu per una maschera o un report o per il database, Access esegue questa macro di menu ogni volta che si apre la maschera, il report o il database. Se si apportano modifiche all'oggetto macro di menu o all'oggetto macro che ne definisce i comandi mentre la maschera, il report o il database è aperto, è necessario chiudere la maschera, il report o il database e riaprirlo per visualizzare le modifiche.
Per creare un sottomenu in un elenco di comandi del menu di scelta rapida, eseguire il passaggio 1 per creare un oggetto macro separato contenente solo i comandi del sottomenu, come illustrato nella figura seguente:
Quindi, eseguire di nuovo il passaggio 1 per definire i comandi per l'oggetto menu di livello superiore. Aggiungere il sottomenu come elemento nell'oggetto macro di livello superiore usando l'azione di macro AggiungiMenu . La figura seguente mostra l'oggetto macro di un menu che contiene un sottomenu. La terza sottomacro in questo oggetto macro di esempio crea il sottomenu Esporta in (mcrShortcutSubMenuCommands).
La figura seguente mostra il menu di scelta rapida completato risultante con un sottomenu:
È possibile creare più livelli di sottomenu usando le azioni di macro AggiungiMenu negli oggetti macro per ogni livello di menu. Assicurarsi di specificare un valore per l'argomento Nome menu per ogni azione AggiungiMenu , altrimenti il sottomenu verrà visualizzato come riga vuota nel menu di livello superiore.
Le condizioni delle espressioni macro che usano blocchi If/Then/Else sono supportate solo nell'oggetto macro di menu principale. In altre parole, è possibile usare un'espressione condizione in un oggetto macro di menu per determinare se verrà visualizzato un particolare menu o menu di scelta rapida, ma solo per i menu di primo livello. Non è possibile usare espressioni di condizione per visualizzare o nascondere comandi o sottomenu nei menu. È anche possibile usare un'espressione condizione per nascondere o visualizzare un menu di scelta rapida personalizzato o un menu di scelta rapida globale.
Facoltativamente, la macro di menu creata nel passaggio 2 può far parte di un oggetto macro. Ad esempio, se sono disponibili diversi menu di scelta rapida per diversi oggetti o controlli, è possibile creare un singolo oggetto macro contenente tutte le macro di menu necessarie. Assicurarsi di avere un nome univoco per ogni sottomacro. Nel passaggio 3 usare la notazione seguente per fare riferimento alla macro: MacroObjectName.SubmacroName. Ad esempio, mcrAddShortcutMenus.AddMenu2.