🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.

🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[Gelöst]verschiedene Symolleisten usw. in Calc

Alles zur Programmierung im LibreOffice.
Antworten
jef0815
Beiträge: 9
Registriert: Fr 18. Mai 2018, 17:18

[Gelöst]verschiedene Symolleisten usw. in Calc

Beitrag von jef0815 » Sa 18. Jan 2025, 13:18

Hallo Gemeinde,
ich versuche in Calc die verschiedenen Symbolleisten, Statusleiste usw. per Makro ein- oder auszublenden.
Mit:
sub All()
ThisComponent.CurrentController.Frame.LayoutManager.setVisible(False, True)
end sub

gelingt das für die Menüleiste, Standardsymbolleiste, Formatierungsleiste, Statuszeile, Suchleiste und die Eingabezeile.

Einzeln funktioniert das z.B. mit

Sub StandardbarAN()
' LayoutElements = "private:resource/toolbar/findbar"
LayoutElements = "private:resource/toolbar/standardbar"
' LayoutElements = "private:resource/toolbar/formatobjectbar"
' LayoutElements = "private:resource/menubar/menubar"
' LayoutElements = "private:resource/statusbar/statusbar"
' LayoutElements = "private:resource/toolbar/tabbar"
doc = ThisComponent
frame = doc.CurrentController.Frame
lmgr = frame.LayoutManager
lmgr.showElement(LayoutElements)
End Sub

nur für die Eingabezeile habe ich keinen Code gefunden.
Da muß ich eine Excel-Anleihe benutzen:
Sub InputbarAN()
Application.DisplayFormulaBar = True
End Sub

Ich suche aber eine reine LO-Lösung

Die anderen Leisten funktionieren mit z.B.

Sub verschiedene()
thiscomponent.currentcontroller.VerticalScrollBar = true
thiscomponent.currentcontroller.HorizontalScrollBar = true
thiscomponent.currentcontroller.sheettabs=true
thiscomponent.currentcontroller.ColumnRowHeaders = True oder False
End Sub

Dabei aber nur die Spaltenköpfe und Zeilenköpfe gemeinsam, Einzellösung habe ich noch nicht gefunden.

Hat jemand eine Idee? Würde mich freuen.

Jürgen
Zuletzt geändert von jef0815 am Do 30. Jan 2025, 22:40, insgesamt 1-mal geändert.

thomasmeyer42
Beiträge: 10
Registriert: Fr 17. Jan 2025, 18:42

Re: verschiedene Symolleisten usw. in Calc

Beitrag von thomasmeyer42 » Sa 25. Jan 2025, 20:02

Das ist eine schwierige Frage. Ich habe eine künstliche Intelligenz gefragt. Sie antwortete wie folgt:

thomasmeyer42
Beiträge: 10
Registriert: Fr 17. Jan 2025, 18:42

Re: verschiedene Symolleisten usw. in Calc

Beitrag von thomasmeyer42 » Sa 25. Jan 2025, 20:05

Symbolleisten in LibreOffice Calc ein- oder ausblenden
Um Symbolleisten wie die Eingabezeile (Input Bar) in LibreOffice Calc über Makros zu steuern, können Sie die UNO-API verwenden. Allerdings gibt es keine direkte API-Funktion, die speziell die Eingabezeile adressiert. Hier ist eine mögliche Lösung:

Eingabezeile ein-/ausblenden

Code: Alles auswählen

Sub InputBarAn()
    Dim layoutManager As Object
    Dim inputBar As String

    inputBar = "private:resource/toolbar/inputbar" ' Ressourcenname der Eingabezeile
    layoutManager = ThisComponent.CurrentController.Frame.LayoutManager
    layoutManager.showElement(inputBar) ' Eingabezeile anzeigen
End Sub

Sub InputBarAus()
    Dim layoutManager As Object
    Dim inputBar As String

    inputBar = "private:resource/toolbar/inputbar" ' Ressourcenname der Eingabezeile
    layoutManager = ThisComponent.CurrentController.Frame.LayoutManager
    layoutManager.hideElement(inputBar) ' Eingabezeile ausblenden
End Sub
Andere Symbolleisten
Hier ist ein Beispiel, wie die Standard-Symbolleiste (Standardbar) gesteuert werden kann:

Code: Alles auswählen

Sub StandardbarAn()
    Dim layoutManager As Object
    Dim standardBar As String

    standardBar = "private:resource/toolbar/standardbar" ' Ressourcenname der Standard-Symbolleiste
    layoutManager = ThisComponent.CurrentController.Frame.LayoutManager
    layoutManager.showElement(standardBar) ' Symbolleiste anzeigen
End Sub

Sub StandardbarAus()
    Dim layoutManager As Object
    Dim standardBar As String

    standardBar = "private:resource/toolbar/standardbar"
    layoutManager = ThisComponent.CurrentController.Frame.LayoutManager
    layoutManager.hideElement(standardBar) ' Symbolleiste ausblenden
End Sub
Zeilen- und Spaltenüberschriften
Um die Zeilen- und Spaltenüberschriften gleichzeitig ein- oder auszublenden:

Code: Alles auswählen

Sub ZeilenUndSpaltenÜberschriftenAnzeigen()
    ThisComponent.CurrentController.ColumnRowHeaders = True
End Sub

Sub ZeilenUndSpaltenÜberschriftenAusblenden()
    ThisComponent.CurrentController.ColumnRowHeaders = False
End Sub
Hinweis
Makros können Sie über Extras > Makros > Makros bearbeiten hinzufügen.
Falls bestimmte Funktionen nicht wie erwartet arbeiten, lohnt sich ein Blick in die LibreOffice API-Dokumentation oder in die Community-Foren.

mikele
* LO-Experte *
Beiträge: 1927
Registriert: Mo 1. Aug 2011, 20:51

Re: verschiedene Symolleisten usw. in Calc

Beitrag von mikele » Sa 25. Jan 2025, 21:33

Hallo,
soweit ich es weiß kann man auf die Eingabezeile (Inputline) nur per Dispatcher zugreifen (entspricht der Funktionalität ->Ansicht->Rechenleiste):

Code: Alles auswählen

	oFrame = ThisComponent.CurrentController.Frame
	dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
	'Rechenleiste - nur per Dispatcher möglich
	dim args1(0) as new com.sun.star.beans.PropertyValue
	args1(0).Name = "InputLineVisible"
	args1(0).Value = False ' bzw. True
	dispatcher.executeDispatch(oFrame, ".uno:InputLineVisible", "", 0, args1())
Die Inputline ist kein Element des LayoutManager (warum auch immer und an anderer Stelle habe ich sie auch nicht gefunden). Daher funktioniert die KI-Lösung nicht.
Gruß,
mikele

jef0815
Beiträge: 9
Registriert: Fr 18. Mai 2018, 17:18

Re: verschiedene Symolleisten usw. in Calc

Beitrag von jef0815 » Do 30. Jan 2025, 22:40

Hallo ihr Spezialisten,

Danke für eure Hilfe!

an #thomasmeyer42
der code für eingabezeile an- und ausblenden funktioniert bei mir leider nicht. Bedeutet: es tut sich gar nichts. Dagegen das von #mikele gepostete funktioniert. Danke dafür!

Den code für die standardbar befindet sich ja bereits im Text meiner Anfrage und Zeilen- und Spaltenüberschriften ebenfalls. Bei letzterem war meine Frage aber, ob Zeilenüberschriften und Spaltenüberschriften einzeln zu schalten sind.

nochmals vielen Dank
Jürgen


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten