Hallo Robert,
das geht schon, aber du musst halt die URL auf dem Weg ermitteln, wie es
Xray macht, damit du auch die URLs der Extensions und Addons erwischst.
Im folgenden Makro schalte ich die LibreLogo-Leiste aus und nach zwei
Sekunden wieder an:
SUB Test
DIM oFrame AS OBJECT
oFrame = StarDesktop.getCurrentFrame()
oWin = oFrame.getContainerWindow()
aElemente = oFrame.LayoutManager.getElements()
FOR i = LBound(aElemente) TO UBound(aElemente)
obj = aElemente(i)
invoc = CreateUnoService("com.sun.star.script.Invocation")
invocCurrObj = invoc.createInstanceWithArguments(Array(obj))
resourceURL= invocCurrObj.getValue("ResourceURL")
if resourceURL=
"private:resource/toolbar/addon_LibreLogo.OfficeToolBar" then
oFrame.LayoutManager.hideElement(resourceURL)
wait 2000
oFrame.LayoutManager.showElement(resourceURL)
end if
next
end sub
Das Makro ist sicher noch nicht wasserdicht, aber das Prinzip ist klar.
Gruß
Gerhard
Am 13.06.2021 um 09:53 schrieb Robert Großkopf:
Hallo Gerhard,
Wenn du die Logik des Programms einsetzen willst, musst du eventuell
noch ein bisschen was abfragen, damit keine Fehler erzeugt werden;
vielleicht genügt es, wenn du abfragst, ob VARTYPE(vari) = 8, d.h.
"string" ist, du willst ja wohl die Namen der Symbolleisten abfragen.
Wichtig ist für mich lediglich, dass anschließend keine Symbolleisten
mehr zu sehen sind. Und das bekomme ich eben bei dieser Symbolleiste
nicht geregelt, da ich sie über die URL auf unsichtbar schalten will.
Ist aber in der Praxis erst einmal nicht so wild, weil die Zielgruppe
sowieso keine Erweiterungen und auch kein LibreLogo nutzen wird.
Ich mache das Ganze jetzt so:
SUB Symbolleisten_Ausblenden
DIM oFrame AS OBJECT
DIM oWin AS OBJECT
DIM oLayoutMng AS OBJECT
DIM aElemente()
oFrame = StarDesktop.getCurrentFrame()
oFrame.setTitle "Titel des Fensters"
oWin = oFrame.getContainerWindow()
oWin.IsMaximized = true
oLayoutMng = oFrame.LayoutManager
aElemente = oLayoutMng.getElements()
FOR i = LBound(aElemente) TO UBound(aElemente)
oLayoutMng.hideElement(aElemente(i).ResourceURL)
NEXT
ThisComponent.CurrentController.Sidebar.Visible = False
ThisComponent.CurrentController.ViewSettings.ZoomValue = 200
ThisComponent.CurrentController.ViewSettings.ShowRulers = False
ThisComponent.CurrentController.ViewSettings.ShowParaBreaks = False
END SUB
SUB Symbolleisten_Einblenden
DIM oFrame AS OBJECT
DIM oLayoutMng AS OBJECT
DIM aElemente()
oFrame = StarDesktop.getCurrentFrame()
oLayoutMng = oFrame.LayoutManager
aElemente = oLayoutMng.getElements()
FOR i = LBound(aElemente) TO UBound(aElemente)
oLayoutMng.showElement(aElemente(i).ResourceURL)
NEXT
ThisComponent.CurrentController.Sidebar.Visible = True
ThisComponent.CurrentController.ViewSettings.ZoomValue = 100
ThisComponent.CurrentController.ViewSettings.ShowRulers = True
ThisComponent.CurrentController.ViewSettings.ShowParaBreaks = True
END SUB
Für das Zeigen bzw. verstecken eines Elements ist nun einmal die
ResourceURL notwendig. Für das Handbuch wäre es natürlich schön, genauer
zu wissen, wie ich die anderen auch verstecken und wieder hervorholen
kann. Ich dachte eigentlich, dass der Verweis auf das Element reichen
müsste ( so wie "getByIndex").
Gruß
Robert
--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.