Seite 1 von 1
Tabellenblätter mit eigener Symbolleiste
Verfasst: Mi 27. Dez 2017, 13:06
von henyP
Guten Tag,
ich möchte gern eine Tabelle erstellen welche aus 4 Tabellenblättern besteht.
Jedes Tabellenblatt soll beim aktiveren des Blattes eine entsprechend zu dem Blatt erstellte Symbolleiste anzeigen.
Wechselt das Blatt sollte diese Leiste auch wechseln.
Symbolleisten "Blatt1 " ... "Blatt4" habe ich erstellt.
Ich kann zu jedem Blatt beim aktivieren ein Makro aufrufen.
Leider komme ich nun nicht weiter, da ich bei der Makroprogrammierung nicht so fit bin.
Kann mir jemand einen anderen Lösungsweg aufzeigen, welcher einfacher ist?
Über Makro-Aufnehmen geht es nicht.
Vielen Dank
Re: Tabellenblätter mit eigener Symbolleiste
Verfasst: Mi 27. Dez 2017, 13:28
von F3K Total
Hi,
lade ein Beispieldokument, dass die vier Symbolleisten enthält, hier hoch, dann hast du größere Chancen auf Hilfe.
Gruß R
Re: Tabellenblätter mit eigener Symbolleiste
Verfasst: Mi 27. Dez 2017, 17:11
von henyP
Danke für die schnelle Antwort,
habe es nun hin bekommen.
Die einfache Lösung :
speichere tabellenblattbezogene Symbolleiste in Dokument und erstelle für jedes Blatt ein Dokument.
Das Tabellenblatt sollte dann immer die entsprechende Symbolleiste haben.
Ich habe es aber über Makro gemacht:
Code: Alles auswählen
Sub Blatt1ToolBarEin
Dim sUrl as String : sUrl = "private:resource/toolbar/custom_toolbar_da969eab"
oDocSymb=ThisComponent.CurrentController.Frame.LayoutManager
oDocSymb.showElement( sUrl )
end sub
Sub Blatt1ToolBarAus
Dim sUrl as String : sUrl = "private:resource/toolbar/custom_toolbar_da969eab"
oDocSymb=ThisComponent.CurrentController.Frame.LayoutManager
oDocSymb.hideElement( sUrl )
end sub
... usw.
Tabellenblatt aktivieren ruft Makro "Blatt1BarEin" auf. Tabellenblatt deaktivieren entsprechend Makro Aus.
Die Custom_tollbar_xxxxx Bezeichnung kann man auf dem odf file entnehmen nachdem man es mit einem Zip Entpacker dekomprimiert. ( Vorausgesetzt es wurde die Toolbar im Dokument gespeichert.
Vielleicht braucht meine Lösung mal einer, als viel Spass damit
Re: Tabellenblätter mit eigener Symbolleiste
Verfasst: Mi 27. Dez 2017, 17:24
von F3K Total
Hi,
es geht auch besser, ohne das Suchen in der entpackten Zip-Datei, mit dem Namen der Toolbar:
Code: Alles auswählen
Sub S_Toolbar_wechseln
odoc = thiscomponent
osheet = ThisComponent.Currentcontroller.activeSheet
sNumber = Right(oSheet.Name,1)'Nummer Tabellenblatt ermitteln
sSymbolleiste = "Symbolleiste " & sNumber 'Name Symbolleiste bestimmen
oframe = odoc.CurrentController.Frame
olayout = oframe.LayoutManager
sToolbar = "private:resource/toolbar/custom_toolbar"
aElements = olayout.Elements
for i = 0 to uBound(aElements)
oElement = aElements(i)
if instr(oElement.ResourceURL,sToolbar) then
oSettings = oElement.ConfigurationSource.getSettings( oElement.ResourceURL, false)
if oSettings.UIName = sSymbolleiste Then
olayout.showElement(oElement.ResourceURL)
else
olayout.hideElement(oElement.ResourceURL)
endif
endif
next i
End Sub
Beispieldatei anbei.
Gruß R
Re: Tabellenblätter mit eigener Symbolleiste
Verfasst: Mi 27. Dez 2017, 17:42
von henyP
Genau DAS hatte ich gesucht..
Danke
