menu persnalizzati
menu persnalizzati
Salve a tutti,
vorrei modificare il menu con una macro.
ho seguito la guida
http://wiki.services.openoffice.org/wik ... ing_the_UI
ma il mio file menubar.xml non cambia.
Mi spiego meglio:
da strumenti->personalizza aggiungo un nuovo menù, manualmente è facile. ma lo vorrei far fare a una sub.
qualcuno mi aiuta?
grazie!
eliana
vorrei modificare il menu con una macro.
ho seguito la guida
http://wiki.services.openoffice.org/wik ... ing_the_UI
ma il mio file menubar.xml non cambia.
Mi spiego meglio:
da strumenti->personalizza aggiungo un nuovo menù, manualmente è facile. ma lo vorrei far fare a una sub.
qualcuno mi aiuta?
grazie!
eliana
LibreOffice 3.3 su uBUNTU 10.10
Re: menu persnalizzati
Ho trovato qualcosa che fa al caso mio quindi mi rispondo da sola...
questo codice non fa esattamente quello che mi serve, perché io vorrei lanciare delle macro che ho creato nel modulo corrente,
invece di aprire dei documenti, ma scommetto che presto capirò come farlo.
...o qualcuno mi darà qualche piccolo suggerimento
Eliana
Codice: Seleziona tutto
'''REM ====== To remove menu: delete macro, then delete menu in Tools > Customize... ======'''
'''REM ====== YOUR ROOT BELOW ======'''
const aDataRootFolder="file:///home/Malte/Documents/"
'''REM ====== YOUR ROOT ABOVE ======'''
sub main
InsertFavoritesMenu(pippo)
end sub
Sub InsertFavoritesMenu
' ImplInsertFavoritesMenu( "com.sun.star.frame.StartModule" )
' ImplInsertFavoritesMenu( "com.sun.star.text.TextDocument" )
ImplInsertFavoritesMenu( "com.sun.star.sheet.SpreadsheetDocument" )
' ImplInsertFavoritesMenu( "com.sun.star.drawing.DrawingDocument" )
' ImplInsertFavoritesMenu( "com.sun.star.presentation.PresentationDocument" )
End Sub
Sub ImplInsertFavoritesMenu( ModuleName as string )
sMenuBar = "private:resource/menubar/menubar"
sMyPopupMenuCmdId = "vnd.openoffice.org:FavoritesMenu"
oModuleCfgMgrSupplier = createUnoService("com.sun.star.ui.ModuleUIConfigurationManagerSupplier")
oModuleCfgMgr = oModuleCfgMgrSupplier.getUIConfigurationManager( ModuleName )
oMenuBarSettings = oModuleCfgMgr.getSettings( sMenuBar, true )
bHasAlreadyPopupMenu = false
nCount = oMenuBarSettings.getCount()
for i = 0 to nCount-1
oPopupMenu() = oMenuBarSettings.getByIndex( i )
nPopupMenuCount = ubound(oPopupMenu())
for j = 0 to nPopupMenuCount
if oPopupMenu(j).Name = "CommandURL" then
if oPopupMenu(j).Value = sMyPopupMenuCmdId then
bHasAlreadyPopupMenu = true
end if
endif
next j
next i
if not bHasAlreadyPopupMenu then
sString = "Favorites"
oPopupMenu = ImplCreatePopupMenu( sMyPopupMenuCmdId, sString, oMenuBarSettings )
oPopupMenuContainer = oPopupMenu(3).Value
'''REM ====== YOUR CUSTOMIZATIONS BELOW ======'''
oMenuItem = ImplCreateMenuItem( aDataRootFolder+"ToDo.ods", "ToDo's" )
oPopupMenuContainer.insertByIndex( oPopupMenuContainer.Count(), oMenuItem )
oMenuItem = ImplCreateMenuItem( aDataRootFolder+"ODF-Plugin ToDo's.ods", "ToDo's ODF Plugin" )
oPopupMenuContainer.insertByIndex( oPopupMenuContainer.Count(), oMenuItem )
oMenuItem = ImplCreateMenuItem( aDataRootFolder+"cws-tools-doc-short.odt", "CWS Tools" )
oPopupMenuContainer.insertByIndex( oPopupMenuContainer.Count(), oMenuItem )
oMenuItem = ImplCreateMenuSeparator()
oPopupMenuContainer.insertByIndex( oPopupMenuContainer.Count(), oMenuItem )
oMenuItem = ImplCreateMenuItem( aDataRootFolder+"Addresses.ods", "Addresses" )
oPopupMenuContainer.insertByIndex( oPopupMenuContainer.Count(), oMenuItem )
oMenuItem = ImplCreateMenuItem( aDataRootFolder+"Data.ods", "Data" )
oPopupMenuContainer.insertByIndex( oPopupMenuContainer.Count(), oMenuItem )
'''REM ====== YOUR CUSTOMIZATIONS ABOVE ======'''
oMenuBarSettings.insertByIndex( nCount, oPopupMenu )
oModuleCfgMgr.replaceSettings( sMenuBar, oMenuBarSettings )
end if
End Sub
Function ImplCreatePopupMenu( CommandId, Label, Factory ) as Variant
Dim aPopupMenu(3) as new com.sun.star.beans.PropertyValue
aPopupMenu(0).Name = "CommandURL"
aPopupMenu(0).Value = CommandId
aPopupMenu(1).Name = "Label"
aPopupMenu(1).Value = Label
aPopupMenu(2).Name = "Type"
aPopupMenu(2).Value = 0
aPopupMenu(3).Name = "ItemDescriptorContainer"
aPopupMenu(3).Value = Factory.createInstanceWithContext( GetDefaultContext() )
ImplCreatePopupMenu = aPopupMenu()
End Function
Function ImplCreateMenuItem( Command as String, Label as String ) as Variant
Dim aMenuItem(2) as new com.sun.star.beans.PropertyValue
aMenuItem(0).Name = "CommandURL"
aMenuItem(0).Value = ".uno:Open?URL:string=" + Command + "&FrameName:string=_default"
aMenuItem(1).Name = "Label"
aMenuItem(1).Value = Label
aMenuItem(2).Name = "Type"
aMenuItem(2).Value = 0
ImplCreateMenuItem = aMenuItem()
End Function
Function ImplCreateMenuSeparator() as Variant
Dim aMenuItem(0) as new com.sun.star.beans.PropertyValue
aMenuItem(0).Name = "Type"
aMenuItem(0).Value = 1
ImplCreateMenuSeparator = aMenuItem()
End Function
invece di aprire dei documenti, ma scommetto che presto capirò come farlo.
...o qualcuno mi darà qualche piccolo suggerimento
Eliana
LibreOffice 3.3 su uBUNTU 10.10
Re: menu persnalizzati
puoi spiegare meglio chi come cosa quando di tua domanda?
hai guardato nelle faq di OOO?
hai guardato nelle faq di OOO?
AOO 3.4.1 AOO341m1(Build:9593) Linux Mint Debian/Mate 64bit java 1.6.0.22 XP PRO/32bit
con Base --> sempre backup!!!
Se problema è Risolto --> Inserire [Risolto]nel titolo come spiega qui, grazie
con Base --> sempre backup!!!
Se problema è Risolto --> Inserire [Risolto]nel titolo come spiega qui, grazie
Re: menu personalizzati
cia Vladko
vorrei personalizzare il menù backside,
cioè fare quello che si fa da strumenti->personalizza->menu "manualmente" in modo automatico,
che è poi quel codice che ho incollato, solo che il codice che ho incollato è un menù favoriti, quindi l'unica cosa che fa è richiamare delle pagine,
mente quello che vorrei io è di aggiungere dei nuovi menù in grado di richiamare delle sub.
vorrei personalizzare il menù backside,
cioè fare quello che si fa da strumenti->personalizza->menu "manualmente" in modo automatico,
che è poi quel codice che ho incollato, solo che il codice che ho incollato è un menù favoriti, quindi l'unica cosa che fa è richiamare delle pagine,
mente quello che vorrei io è di aggiungere dei nuovi menù in grado di richiamare delle sub.
LibreOffice 3.3 su uBUNTU 10.10
Re: menu persnalizzati
ci sono alcune extension che creano menu personali.
potresti guardare a quelle
1 che mi viene in mente MRI
2 tools di sergiocorato che ogni tanto passa su questa strada
potresti guardare a quelle
1 che mi viene in mente MRI
2 tools di sergiocorato che ogni tanto passa su questa strada
AOO 3.4.1 AOO341m1(Build:9593) Linux Mint Debian/Mate 64bit java 1.6.0.22 XP PRO/32bit
con Base --> sempre backup!!!
Se problema è Risolto --> Inserire [Risolto]nel titolo come spiega qui, grazie
con Base --> sempre backup!!!
Se problema è Risolto --> Inserire [Risolto]nel titolo come spiega qui, grazie
Re: menu persnalizzati
cerco di spiegarmi meglio.
Dovrei modificare una vecchia extension che girava in excel.
Quindi dovrei creare dei menù che richiamano delle funzioni (se non ho capito male con call)
Queste funzioni a loro volta richiamano codice scritto in fortran e in c.
Ho qualche problema abbastanza serio, tipo che non riesco nemmeno a compilare il codice in c, ed ho anche qualche difficoltà con il fortran, tipo che nel passaggio da windows a ubuntu, le funzioni non sono compatibili al massimo.. avrei bisogno di qualche suggerimento
Grazie
Dovrei modificare una vecchia extension che girava in excel.
Quindi dovrei creare dei menù che richiamano delle funzioni (se non ho capito male con call)
Queste funzioni a loro volta richiamano codice scritto in fortran e in c.
Ho qualche problema abbastanza serio, tipo che non riesco nemmeno a compilare il codice in c, ed ho anche qualche difficoltà con il fortran, tipo che nel passaggio da windows a ubuntu, le funzioni non sono compatibili al massimo.. avrei bisogno di qualche suggerimento
Grazie
LibreOffice 3.3 su uBUNTU 10.10
- giorgiofoga
- Messaggi: 116
- Iscritto il: venerdì 28 gennaio 2011, 11:39
Re: menu persnalizzati
bellloooo .... sei la prima fortrannista che mi capita a tiro ..... domanda stupidona .... perchè non fai fare tutto a c++??
libreoffice 3.3.1 su ubuntu 10.10 64bit
openoffice 3.2.1 su ubuntu 10.10 32bit
openoffice 3.2.1 su ubuntu 10.10 32bit
Re: menu persnalizzati
Ciao giorgiofoga, non faccio fare tutto a c++ perché ho del codice molto antico che mi è stato regalato, che appunto è in fortran, che fa degli strani calcoli di "roba chimica" tipo calcolo dei parametri degli spettri, che sto cercando di interpretare (cioè di capire) non so bene dove andare a mettere le mani.
La mia extension di excel aveva la funzione di interfacciare graficamente in un modo un po' umano questi programmi di simulazione scritti in Fortran e C, mutuati da un'università americana che ora ha tolto anche i sorgenti dal sito, quindi renditi conto della situazione un po' preistorica del sorgente su cui debbo mettere mani.
Tu mi suggerisci di tramutare tutto in c++?
Non è un'impresa folle, considerando la presenza dei goto?!?
Scusa se ci ho messo tanto a rispondere ma ho preso qualche giorno di vacanza e non avevo il pc.
Eliana
La mia extension di excel aveva la funzione di interfacciare graficamente in un modo un po' umano questi programmi di simulazione scritti in Fortran e C, mutuati da un'università americana che ora ha tolto anche i sorgenti dal sito, quindi renditi conto della situazione un po' preistorica del sorgente su cui debbo mettere mani.
Tu mi suggerisci di tramutare tutto in c++?
Non è un'impresa folle, considerando la presenza dei goto?!?
Scusa se ci ho messo tanto a rispondere ma ho preso qualche giorno di vacanza e non avevo il pc.
Eliana
LibreOffice 3.3 su uBUNTU 10.10
- xergio
- Messaggi: 315
- Iscritto il: lunedì 15 marzo 2010, 21:54
- Località: Arzignano (Vicenza)
- Contatta:
Re: menu persnalizzati
Da macro non li ho mai creati, però sull'extension il codice è questo:
n.b.: la parte IcsTools.Mod.OpenIcsToolsProjects è la posizione e il nome della macro.
Codice: Seleziona tutto
vnd.sun.star.script:IcsTools.Mod.OpenIcsToolsProjects?language=Basic&location=application
Per cortesia, inserisci [Risolto] nel Titolo iniziale se il tuo problema è stato risolto.
---
Sergio Corato
LibO 6.x su Ubuntu 18.04 / OOo 4.x su Windows XP/10 (VirtualBox)
https://efatto.it
---
Sergio Corato
LibO 6.x su Ubuntu 18.04 / OOo 4.x su Windows XP/10 (VirtualBox)
https://efatto.it