Ribbon

di Anonimizzato22714 il
10 risposte
Salve, ho capito che per personalizzare la BARRA DEI MENU si può fare tramite i Ribbon (file XML ), oppure con il classico:
DoCmd.ShowToolbar “Ribbon”, acToolbarNo per farla "sparire"

Però vorrei far sparire/bloccare anche il pulsante principale: Opzioni di Access, in modo da non fare accedere l'utilizzatore del DB, alle opzioni database corrente, per non permettergli alcuna modifica al DB.
Ma questa cosa in generale è possibile?

10 Risposte

  • Non so se ho capito... ma nel caso forse basta inserire nel predicat XML
    
    <ribbon startFromScratch="True">
    ' .... Inserire nella prima riga del codice XML
    <customUI xmlns=....
  • Grazie della risposta... Più tardi faccio una prova....
  • Purtroppo ho provato solo ora e comunque già è presente il codice che mi hai suggerito, anzi, ho notato che se scrivi
    true
    con la T maiuscola il codice non funziona.
    Mi spiego meglio (almeno ci provo) su cosa manca, vorrei togliere anche il tab FILE di Access, il menu principale dove ci sono anche le Opzioni di Access.
    Il DB si avvia con una maschera di login e nessun menu tranne appunto il menu/tab FILE di Access, ecco l'immagine per semplificare.
    Come detto vorrei far "sparire" anche quello, se ciò è possibile chiaramente.
    Cattura.PNG
    Cattura.PNG

  • E' un briciolo più complicato ....
    Devi creare una tabella denominata : USysRibbons
    Con i seguenti campi : ID (counter) Chiave Primaria, RibbonName (testo breve(255)), RibbonXml (Testo Lungo)
    Aggiungi un record e imposti il RibbonName al nome del ribbon che poi vorrai utilizzare (MyRibbon)
    Inserisci poi nel campo RibbonXml la composizione del Ribbon ... devi usare lo standard Xml.
    Esempio :
    
    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" >
      <ribbon startFromScratch="false">
        <tabs>
          <tab id="dbCustomTab1" label ="ANAGRAFICHE">
            <group id="Fornitori" label="Fornitori">
              <button id="ANCF" label="Fornitori" onAction="MyBtnCallbackOnAction" />
            </group>
            <group id="Componenti" label="Componenti">
              <button id="COMP" label="Componenti" onAction="MyBtnCallbackOnAction" />
            </group>
          </tab>
           <tab id="dbCustomTab3" label ="SCHEDE">
            <group id="SchedeManutenzione" label="Schede Manutenzioni">
              <button id="MNCO" label="Schede Manutenzioni" onAction="MyBtnCallbackOnAction" />
            </group>
            <group id="SchedeIspezione" label="Schede Ispezioni">
              <button id="ISPE" label="Schede Ispezioni" onAction="MyBtnCallbackOnAction" />
            </group>
          </tab>
        </tabs>
     </ribbon>
      <backstage>
        <button idMso="ApplicationOptionsDialog" visible="false"/>
        <tab idMso="TabPrint" visible="false"/>
      </backstage>
    </customUI>
    
    Si tratta di roba fatta tempo fa e quindi non mi ricordo se manca ancora qualcosa (sicuramente le funzioni di call back) ..... appena ho tempo indago a fondo nel progetto.
  • Ma è proprio quello che ho fatto, verifico il tuo codice con il mio e ti faccio sapere.
  • Ok la parte che mi mancava era l'ultimo pezzo del tuo codice e cioè:
      <backstage>
        <button idMso="ApplicationOptionsDialog" visible="false"/>
        <tab idMso="TabPrint" visible="false"/>
      </backstage>
    è chiaro che la soluzione finale da me adottata (di seguito riportata) non va bene, perchè con l'aggiunta del blocco del quadro di spostamento rimani in trappola perchè non puoi tornare indietro.
    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" >
    <ribbon startFromScratch="true">
    </ribbon>
      <backstage>
        <button idMso="ApplicationOptionsDialog" visible="false"/>
        <tab idMso="TabPrint" visible="false"/>
      </backstage>
    </customUI>
    Da costumizzare il tutto. GRAZIEEE
  • darki ha scritto:


    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" >
    <ribbon startFromScratch="true">
    </ribbon>
      <backstage>
        <button idMso="ApplicationOptionsDialog" visible="false"/>
        <tab idMso="TabPrint" visible="false"/>
      </backstage>
    </customUI>
    Quindi questo era quello che cercavi ?

    Da notare anche la differenza tra il mio ribbon e il tuo per quanto riguarda il parametro startFromScratch (false vs true)
  • Io mi sono perso... ultimamente è frequente... ma assomiglia a quello che avevo proposto all'inizio...? Mi sbaglio sicuramente...
  • @Alex ha scritto:


    Io mi sono perso... ultimamente è frequente... ma assomiglia a quello che avevo proposto all'inizio...? Mi sbaglio sicuramente...
    Buonasera @Alex,
    no no non ti sei perso...
    mancava solo ultima parte:
    <backstage>
        <button idMso="ApplicationOptionsDialog" visible="false"/>
        <tab idMso="TabPrint" visible="false"/>
      </backstage>
    ma perchè io mi ero spiegato male.....
    Grazie
  • max.riservo ha scritto:


    darki ha scritto:


    <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" >
    <ribbon startFromScratch="true">
    </ribbon>
      <backstage>
        <button idMso="ApplicationOptionsDialog" visible="false"/>
        <tab idMso="TabPrint" visible="false"/>
      </backstage>
    </customUI>
    Quindi questo era quello che cercavi ?

    Da notare anche la differenza tra il mio ribbon e il tuo per quanto riguarda il parametro startFromScratch (false vs true)
    Si si cercavo questo... almeno per adesso
    Grazie
Devi accedere o registrarti per scrivere nel forum
10 risposte