Nuova Toolbar generata ma non visualizzata

Creare una macro - Scrivere uno script - Usare le API
Rispondi
marinoernestoch
Messaggi: 25
Iscritto il: sabato 17 agosto 2024, 19:02

Nuova Toolbar generata ma non visualizzata

Messaggio da marinoernestoch »

Buon giorno.
Continuando a sperimentare le funzioni di LO (l'obiettivo sarà quello di convertire le mie VBA di Excel) sono incappato in questo problema:
la sub elencata genera una toolbar con un pulsante. Funziona la prima volta che viene eseguita. Le volte successive la barra non viene generata, ma neanche appaiono errori. Visivamente la finestra delle celle del foglio si abbassa, come per fare spazio alla nuova barra, ma questa non appare. Perchè appaia devo chiudere il programma, riaprirlo ed eseguire la sub.
La sub è il risultato di una serie di taglia/incolla di altre sub trovate in rete.

Codice: Seleziona tutto

Sub CreaBarra_Del_foglio_di_Calcolo2()
dim sToolbarURL as string                              ' URL of the custom toolbar.
dim oModuleCfgMgrSupplier as object                 ' ModuleUIConfigurationManagerSupplier
dim oModuleCfgMgr as object                         ' Module manager.
dim oToolbarSettings as object                      ' Settings that comprise the toolbar.
dim oToolbarItem as variant                         ' Single toolbar button.

 dim aToolbarItem(3) as new com.sun.star.beans.PropertyValue
     'A custom toolbar name MUST start with "custom_"!
    sToolbarURL = "private:resource/toolbar/custom_PROVACCCC" 
    
    oModuleCfgMgrSupplier = createUnoService("com.sun.star.ui.ModuleUIConfigurationManagerSupplier")
    Set oModuleCfgMgr = oModuleCfgMgrSupplier.getUIConfigurationManager("com.sun.star.sheet.SpreadsheetDocument")
    
    If (oModuleCfgMgr.hasSettings(sToolbarURL)) Then 
  		 oModuleCfgMgr.removeSettings(sToolbarURL)
    End If
 
    oToolbarSettings = oModuleCfgMgr.createSettings()   ' la struttura della barra
    oToolbarSettings.UIName = "PROVA_CCCC"  ' Set a title for our new custom toolbar
   '---------------------------------------------'
    aToolbarItem(0).Name = "CommandURL"           
    aToolbarItem(0).Value = "macro:///Standard.SubProva.Prima_sub()"            
    aToolbarItem(1).Name = "Label"               
    aToolbarItem(1).Value = "Esegui 1"             
    aToolbarItem(2).Name = "Type"                 '
    aToolbarItem(2).Value = 0                     ' Valore per Type (Con 0 si vede la scritta...)
    aToolbarItem(3).Name = "Visible"              ' ARGOMENTO PER BOTTONE VISIBULE O NASCOSTO 
    aToolbarItem(3).Value = true                  ' true per VISIBILE, false per NASCOSTO

    oToolbarSettings.insertByIndex(0, aToolbarItem()) 

    oModuleCfgMgr.insertSettings(sToolbarURL, oToolbarSettings)
    
    ThisComponent.CurrentController.Frame.LayoutManager.showElement( sToolbarURL)    
      
End Sub
Chiedo ai frequentatori del forum suggerimenti su accorgimenti da adottare per eliminare il problema.
Ringrazio in anticipo
OpenOffice 4.1.15; LibreOffice 24.2.5.2; windows 10.
marinoernestoch
Messaggi: 25
Iscritto il: sabato 17 agosto 2024, 19:02

Re: Nuova Toolbar generata ma non visualizzata

Messaggio da marinoernestoch »

Continuano nelle prove segnalo ottengo lo stesso risultato anche con OpenOffice
OpenOffice 4.1.15; LibreOffice 24.2.5.2; windows 10.
Rispondi