Creare una barra multifunzione personalizzata in Access

Si applica a
Access per Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

La barra multifunzione, ovvero la striscia nella parte superiore della finestra del programma che contiene i gruppi di comandi, è un componente dell'interfaccia utente Microsoft Office Fluent. L'interfaccia utente Office Fluent offre un'unica home page per i comandi di Access.

Quando si inizia a creare applicazioni più avanzate con Access, si potrebbe decidere di personalizzare la barra multifunzione Office Fluent per rendere più semplice l'uso di un'applicazione. È ad esempio possibile nascondere alcune o tutte le schede predefinite in modo che gli utenti non possano usare determinati comandi e creare nuove schede personalizzate in cui si contengono solo i comandi che si vuole rendere disponibili.

In tutte le applicazioni di Microsoft Office che usano l'interfaccia utente Office Fluent, è possibile usare il linguaggio XML (Extensible Markup Language) per personalizzare la barra multifunzione. Pertanto, alcune conoscenze di base di XML sono utili. Questo articolo non illustra i concetti relativi al codice XML, ma fornisce una procedura di personalizzazione di base della barra multifunzione e alcuni codici XML di esempio che è possibile modificare in base alle esigenze.

Questo articolo illustra come creare barre multifunzione personalizzate usando XML. Se si vogliono usare gli strumenti predefiniti per modificare le barre multifunzione esistenti, vedere Personalizzare la barra multifunzione in Office.

Per saperne di più

Introduzione alle tecniche di personalizzazione della barra multifunzione

In Access è possibile personalizzare la barra multifunzione creando un codice XML di personalizzazione e quindi aggiungendo codice o impostando proprietà di database che indichino ad Access di usare tale codice XML quando crea la barra multifunzione. È possibile usare il codice XML per nascondere le schede esistenti e per aggiungere nuove schede, gruppi di comandi e comandi. Le procedure illustrate in questo articolo illustrano come aggiungere comandi predefiniti di Access, ad esempio Trova, Ordina e Salva, e come aggiungere comandi per eseguire macro di Access scritte personalmente.

Esistono diversi posti in cui è possibile archiviare il codice XML, ma uno dei metodi più semplici consiste nell'archiviarlo in una tabella di sistema nel database corrente. Il processo prevede la creazione di una tabella di sistema denominata USysRibbons, l'aggiunta del codice XML della barra multifunzione e quindi la specifica se la barra multifunzione personalizzata viene visualizzata per l'intero database o per una maschera o un report specifico. È possibile definire più barre multifunzione personalizzate, una per l'intera applicazione e altre barre multifunzione per singole maschere o report nel database.

Creare e applicare una barra multifunzione personalizzata

Nelle sezioni seguenti vengono fornite procedure dettagliate per la creazione e l'applicazione di una barra multifunzione personalizzata.

Prima di iniziare

Visualizzare le tabelle di sistema nel riquadro di spostamento Per impostazione predefinita, le tabelle di sistema non vengono visualizzate nel riquadro di spostamento, pertanto è necessario modificare prima un'impostazione nella finestra di dialogo Opzioni di spostamento in modo da poter visualizzare la tabella USysRibbons dopo averla creata. Seguire questa procedura:

  1. Con il database aperto in Access, fare clic con il pulsante destro del mouse sulla barra di spostamento nella parte superiore del riquadro di spostamento e quindi scegliere Opzioni di spostamento dal menu di scelta rapida.
  2. Nella finestra di dialogo Opzioni di navigazione , in Opzioni di visualizzazione, selezionare la casella di controllo Mostra oggetti di sistema e quindi fare clic su OK.
    Le tabelle di sistema di Access vengono visualizzate nel riquadro di spostamento.

Abilita la visualizzazione dei messaggi di errore dell'interfaccia utente del componente aggiuntivo I messaggi di errore sono una fonte preziosa di informazioni durante la creazione e la risoluzione dei problemi relativi al codice XML di personalizzazione della barra multifunzione, pertanto è consigliabile impostarli per la visualizzazione in Access. Seguire questa procedura:

  1. Fare clic suOpzionifile>. 
  2. Fare clic su Impostazioni client
  3. In Generale selezionare la casella di controllo Mostra errori interfaccia utente dei componenti aggiuntivi e quindi fare clic su OK.

Creare la tabella di sistema USysRibbons

Usare questa procedura per creare la tabella di sistema USysRibbons. In seguito, questa tabella verrà usata per archiviare il codice XML di personalizzazione della barra multifunzione.

  1. Nel gruppo Tabelle della scheda Crea fare clic su Struttura tabella.

  2. Aggiungere alla tabella i campi seguenti. Assicurarsi di digitare i nomi dei campi esattamente come illustrato.

    Nome campo Tipo Dimensione campo
    ID Contatore Intero lungo
    RibbonName Testo 255
    RibbonXml Promemoria
  3. Se lo si desidera, è possibile aggiungere altri campi alla tabella, ad esempio un campo Commenti per descrivere la funzione del codice XML della barra multifunzione.

  4. Selezionare il campo ID . Nel gruppo Strumenti della scheda Progettazione fare clic su Chiave primaria.

  5. Sulla barra di accesso rapido fare clic su Salva oppure premere CTRL+S. Assegnare alla nuova tabella il nome USysRibbons.

Aggiungere il codice XML di personalizzazione della barra multifunzione alla tabella USysRibbons

Ai fini di questo esempio, si supponga di voler impedire agli utenti del database di usare uno qualsiasi degli strumenti della scheda Crea . Inoltre, si vuole creare una nuova scheda denominata Scheda personalizzata con solo il comando Incolla, come illustrato nella figura seguente.

Scheda della barra multifunzione personalizzata

Questo tipo di configurazione viene creato dal codice XML nella procedura seguente.

  1. Nel riquadro di spostamento fare clic con il pulsante destro del mouse sulla tabella USysRibbons e quindi scegliere Visualizzazione foglio dati dal menu di scelta rapida.

  2. Aggiungere alla tabella i dati seguenti. È possibile copiare l'esempio XML da questo articolo e incollarlo direttamente nella tabella.

    ID RibbonName RibbonXML
    (Numerazione automatica) Scheda personale <customUI xmlns="http://schemas.microsoft.com /office/2006/01/customui"><ribbon startFromScratch="false"<>tabs<>tab idMso="TabCreate" visible="false" /><tab id="dbCustomTab" label="Una scheda personalizzata" visible="true"<>group id="dbCustomGroup" label="Un gruppo personalizzato"><control idMso="Incolla" label="Incolla integrato" enabled="true"/<>/group<>/tab<>/tabs<>/ribbon></customUI>
  3. Questo codice XML indica innanzitutto ad Access di non "partire da zero", ovvero specifica che Access deve visualizzare le schede predefinite della barra multifunzione. Quindi, indica ad Access di nascondere solo una delle schede predefinite (la scheda Crea ). Infine, crea una nuova scheda della barra multifunzione denominata "Scheda personalizzata", aggiunge un gruppo di comandi denominato "Gruppo personalizzato" alla scheda e aggiunge il comando Incolla al gruppo. Per ulteriori informazioni su questo esempio e su come personalizzarlo in base alle proprie esigenze, vedere la sezione Informazioni sull'esempio XML.

  4. Chiudere la tabella USysRibbons, quindi chiudere e riaprire il database.

Applicare la barra multifunzione personalizzata

Ora che il codice XML della barra multifunzione personalizzato è stato archiviato in una tabella, eseguire una delle operazioni seguenti, a seconda che si voglia applicare la barra multifunzione all'intero database o a una maschera o a un report specifico.

  • Applicare la barra multifunzione personalizzata all'intero database 

    1. Fare clic suOpzionifile>. 
    2. Fare clic su Database corrente e quindi in Opzioni barra multifunzione e barra degli strumenti selezionare l'elenco Nome barra multifunzione e quindi fare clic sulla barra multifunzione desiderata, in questo caso Scheda personale.
    3. Fare clic su OK.
  • Applicare la barra multifunzione personalizzata a una maschera o un report specifico 

    1. Nel riquadro di spostamento fare clic con il pulsante destro del mouse sulla maschera o sul report a cui si desidera applicare la barra multifunzione personalizzata e quindi scegliere Visualizzazione Struttura dal menu di scelta rapida.
    2. Se la finestra delle proprietà non è già visualizzata, premere F4 per aprirla.
    3. Nella parte superiore della finestra delle proprietà, in Tipo di selezione, verificare che nell'elenco sia selezionato il tipo di oggetto (maschera o report).
    4. Nella scheda Altro della finestra delle proprietà fare clic sull'elenco Nome barra multifunzione e quindi sulla barra multifunzione che si desidera visualizzare quando si apre la maschera o il report (in questo caso, Scheda personale).
    5. Sulla barra di accesso rapido fare clic su Salva oppure premere CTRL+S.
    6. Chiudere la maschera o il report e quindi fare doppio clic su di esso nel riquadro di spostamento per riaprirlo.
      Viene visualizzata la barra multifunzione selezionata.

Dopo aver verificato il corretto funzionamento della barra multifunzione personalizzata, è possibile nascondere di nuovo le tabelle di sistema eseguendo le operazioni seguenti:

  1. Fare clic con il pulsante destro del mouse sulla barra di spostamento nella parte superiore del riquadro di spostamento e quindi scegliere Opzioni di spostamento dal menu di scelta rapida.
  2. Nella finestra di dialogo Opzioni di navigazione , in Opzioni di visualizzazione, deselezionare la casella di controllo Mostra oggetti di sistema e quindi fare clic su OK.

Inizio pagina

Ripristinare la barra multifunzione predefinita

Per interrompere l'uso di una barra multifunzione personalizzata e ripristinare quella predefinita, usare una delle procedure seguenti, a seconda che la barra multifunzione personalizzata venga usata dall'intera applicazione o da una maschera o un report specifico.

Ripristinare la barra multifunzione predefinita a livello di applicazione

  1. Fare clic suOpzionifile>. 
  2. Fare clic su Database corrente e quindi in Opzioni barra multifunzione e barra degli strumenti eliminare il contenuto della casella Nome barra multifunzione .
  3. Chiudere e riaprire il database.

Access visualizza le schede della barra multifunzione predefinite. Il codice XML della barra multifunzione rimane nella tabella USysRibbons finché non viene eliminato, quindi se si vuole ripristinare la barra multifunzione personalizzata, è possibile impostare l'opzione Nome barra multifunzione sul valore contenuto in precedenza.

Ripristinare la barra multifunzione predefinita per una maschera o un report

  1. Aprire la maschera o il report in visualizzazione Struttura.
  2. Se la finestra delle proprietà non è già visualizzata, premere F4 per aprirla.
  3. Nella parte superiore della finestra delle proprietà, in Tipo di selezione, verificare che nell'elenco sia selezionato il tipo di oggetto (maschera o report).
  4. Nella scheda Altro della finestra delle proprietà eliminare il contenuto della casella della proprietà Nome barra multifunzione .
  5. Salvare, chiudere e quindi riaprire la maschera o il report.

Il codice XML della barra multifunzione rimane nella tabella USysRibbons finché non viene eliminato, quindi se si vuole ripristinare la barra multifunzione personalizzata, è possibile impostare il valore della proprietà Nome barra multifunzione sul valore contenuto in precedenza.

Inizio pagina

Informazioni sull'esempio XML

Ecco l'esempio XML utilizzato in precedenza in questo articolo e un'illustrazione della barra multifunzione personalizzata creata.

<customUI xmlns="http://schemas.microsoft.com /office/2006/01/customui"><ribbon startFromScratch="false"<>tabs<>tab idMso="TabCreate" visible="false" /><tab id="dbCustomTab" label="Una scheda personalizzata" visible="true"<>group id="dbCustomGroup" label="Un gruppo personalizzato"><control idMso="Incolla" label="Incolla integrato" enabled="true"/<>/group<>/tab<>/tabs<>/ribbon></customUI>

Scheda della barra multifunzione personalizzata

In questo esempio la seconda riga di XML imposta l'attributo startFromScratch su False. Impostando il valore su False, Access lascia intatte tutte le schede esistenti e aggiunge le nuove schede a destra di quelle esistenti. Impostando questo attributo su True vengono rimosse tutte le schede esistenti e vengono visualizzate solo quelle create nel codice XML. Anche se si imposta l'attributo startFromScratch su False, è comunque possibile nascondere singole schede. Ciò è dimostrato dalla quarta riga del codice XML, che nasconde la scheda Crea predefinita. Le righe rimanenti creano una scheda personalizzata e un gruppo personalizzato e quindi aggiungono il comando Incolla integrato al gruppo usando la riga seguente di XML.

<control idMso="Paste" label="Built-in Paste" enabled="true"/>

Aggiungere altri gruppi o controlli alla barra multifunzione personalizzata È possibile aggiungere altri gruppi e controlli alla barra multifunzione aggiungendo righe XML simili e sostituendo valori di idMso ed etichette diversi. Ad esempio, per creare un controllo che esporta in Excel l'oggetto attualmente selezionato, usare il codice XML seguente.

<control idMso="ExportExcel" label="Export to Excel" enabled="true"/>

Per aggiungere il controllo allo stesso gruppo del comando Incolla , inserire la nuova riga di codice XML immediatamente prima o dopo la riga che crea il comando Incolla . Per creare un nuovo gruppo, è possibile copiare, incollare e modificare il codice XML che crea il gruppo Personalizzato precedente. Nell'esempio seguente viene illustrato il codice XML che aggiunge i due controlli al gruppo personalizzato.

<customUI xmlns="http://schemas.microsoft.com /office/2006/01/customui">ribbon startFromScratch="false"><tabs><tab idMso="TabCreate" visible="false" /<>tab id="dbCustomTab" label="Una scheda personalizzata" visible="true"<>group id="dbCustomGroup" label="Un gruppo personalizzato"<>control idMso="Incolla" label="Incolla integrato" enabled="true"/></group<>group id="dbCustomGroup2" label="Un altro gruppo personalizzato"><<control idMso="ImportExcel" label="Importa da Excel" enabled="true"/><control idMso="ExportExcel" label="Esporta in Excel" enabled="true"/<>/group></tab<>/tabs<>/ribbon></customUI>

Questo codice XML aggiunge un altro gruppo a una scheda personalizzata. Come illustrato nella figura seguente, il nuovo gruppo contiene due controlli, uno che avvia un'operazione di importazione da Excel e uno che avvia un'operazione di esportazione in Excel.

Scheda della barra multifunzione personalizzata con due gruppi

Nota

Ogni valore di ID gruppo e ID scheda in una barra multifunzione personalizzata deve essere univoco.

Conoscere il valore idMso di un comando Per conoscere il valore idMso di un comando predefinito, usare la procedura seguente:

  1. Fare clic suOpzionifile>. 
  2. Fare clic su Personalizza barra multifunzione o Barra di accesso rapido
  3. Spostare il puntatore sull'elemento per il quale si vogliono ottenere informazioni. Il valore idMso del controllo viene visualizzato tra parentesi nella descrizione comando.

Aggiungere un comando per eseguire una macro di Access È possibile aggiungere ancora più flessibilità alla barra multifunzione personalizzata aggiungendo comandi per eseguire le macro di Access. Si supponga, ad esempio, di aver creato una macro denominata MioMacro. Per aggiungere un comando alla barra multifunzione per l'esecuzione della macro, aggiungere la riga seguente al codice XML.

<button id="RunMyMacro" label="Run My Macro" onAction="MyMacro"/>

Per aggiungere il controllo allo stesso gruppo del comando Incolla dell'esempio precedente, inserire la nuova riga di codice XML immediatamente prima o dopo la riga che crea il comando Incolla . Nell'esempio seguente viene illustrato il codice XML che aggiunge il comando.

<customUI xmlns="http://schemas.microsoft.com /office/2006/01/customui"><ribbon startFromScratch="false"<>tabs<>tab idMso="TabCreate" visible="false" /><tab id="dbCustomTab" label="Una scheda personalizzata" visible="true"><group id="dbCustomGroup" label="Un gruppo personalizzato"><control idMso="Incolla" label="Incolla integrato" enabled="true"/<>button id="RunMyMacro" label="Esegui la mia macro" onAction="MyMacro"/<>/group><group id="dbCustomGroup2" label="Un altro gruppo personalizzato"><control idMso="ImportExcel" label="Importa da Excel" enabled="true"/<>control idMso="ExportExcel" label="Esporta in Excel" enabled="true"/<>/group></tab<>/tabs<>/ribbon></customUI>

Inizio pagina