Benutzerdefinierte Symbolleiste

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

mumpel
****
Beiträge: 133
Registriert: So, 22.08.2004 05:27
Wohnort: Lindau (B)
Kontaktdaten:

Benutzerdefinierte Symbolleiste

Beitrag von mumpel »

Hallo!

Habe jetzt mein Projekt erfolgreich nach OOo portieren können. Einziges Problem ist die benutzerdefinierte Symbolleiste. Wie erstellt man eine benutzerdefinierte Symbolleiste per Starbasic? In Excel (bis 2003) gibt es ein editControl, in Excel 2007 eine editBox sowie ein Kombinationsfeld. Und wie heissen die Elemente in OOo. Das erstellen einer Symbolleiste per Starbasic ist notwendig. Die "normale" vorgehensweise ist in meinem Fall nicht angebracht, da dass Projekt weitergegeben werden soll. Ich möchte aber den Anwender nicht zumuten, erst eine Symbolleiste erstellen zu müssen, um das Projekt dann nutzen zu können. Die Symbolleiste soll beim Aktivieren der Extension erstellt und nach dem Deaktivieren wieder gelöscht werden. Danke!

Gruß, René

Windows 7 Home Premium (auf Acer Desktop PC)
Windows 8 Professional (auf Microsoft Surface Pro 3).
MSO 365 Home Premium
LibreOffice 4.2.
F-Secure Internet Security
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Benutzerdefinierte Symbolleiste

Beitrag von komma4 »

Das geht in OOo über die Konfigurationsdateien, siehe die Extension BasicAddonBuilder
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
mumpel
****
Beiträge: 133
Registriert: So, 22.08.2004 05:27
Wohnort: Lindau (B)
Kontaktdaten:

Re: Benutzerdefinierte Symbolleiste

Beitrag von mumpel »

Danke! Ich bekomme aber die Fehlermeldung "BasicProviderImpl::getScrip:NoScript". Liegt wohl daran, dass das Projekt geschützt ist. Ich möchte aber nicht, dass jemand den Code einsieht oder gar ändert. Außerdem kann man mit dem Tool weder Eingabefelder (editControl oder editBox) noch Auswahlfelder (Combobox) einfügen. Gibt es ein Tool, welches auch geschützte Projekte berücksichtigt und die Schaltflächen trotz Projektschutz funktionieren sowie die gewünschten Elemente bereithält?

Windows 7 Home Premium (auf Acer Desktop PC)
Windows 8 Professional (auf Microsoft Surface Pro 3).
MSO 365 Home Premium
LibreOffice 4.2.
F-Secure Internet Security
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Benutzerdefinierte Symbolleiste

Beitrag von komma4 »

Mit der geschützten Bibliothek kann ich nicht helfen (da solltest Du Dich an Paolo Mantovani wenden)

Nach diesem Artikel Generic UNO Interfaces for complex toolbar controls sollten Eingabefeld und Combobox machbar sein.

Die Anweisungen werden dann in die Addons.xcu der *.oxt gemischt.
Falls die Dokumentation Dir nicht hilft, dann könntest Du mal in der Liste comp.openoffice.devel.api*** fragen - da tummeln sich die Spezis.


Hilft das?


***gbit es über GMANE
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
mumpel
****
Beiträge: 133
Registriert: So, 22.08.2004 05:27
Wohnort: Lindau (B)
Kontaktdaten:

Re: Benutzerdefinierte Symbolleiste

Beitrag von mumpel »

Danke für den Link! Das Editfield ist eingebaut. Aber wie kann ich jetzt den Wert aus dem Eingabefeld an ein Makro übergeben? Und mit welcher XML-Zeile kann ich die Quickinfo ändern?
Ist eben doch nicht gut, wenn man kein Englisch kann.

Windows 7 Home Premium (auf Acer Desktop PC)
Windows 8 Professional (auf Microsoft Surface Pro 3).
MSO 365 Home Premium
LibreOffice 4.2.
F-Secure Internet Security
mumpel
****
Beiträge: 133
Registriert: So, 22.08.2004 05:27
Wohnort: Lindau (B)
Kontaktdaten:

Re: Benutzerdefinierte Symbolleiste

Beitrag von mumpel »

Darf ich nochmal rückfragen?

Wie kann ich die Eingaben in einem Editfield (Symbolleiste) weiterverarbeiten bzw. an ein Makro übergeben?

In Excel (bis XL2003) geht das so:

Code: Alles auswählen

Dim objList As CommandBarControl, strT As String
Set objList = CommandBars.ActionControl
strT = objList.Text
AusDreiMachEins strT
Aber in OOo gibt es weder ActionControl noch Commandbar.

In Excel 2007 geht das so:

Code: Alles auswählen

Sub Makro(control As IRibbonControl, ByRef text)
Dim strt As String
strt = text
AusDreiMachEins strt
End Sub
Danke für die Hilfe!

Windows 7 Home Premium (auf Acer Desktop PC)
Windows 8 Professional (auf Microsoft Surface Pro 3).
MSO 365 Home Premium
LibreOffice 4.2.
F-Secure Internet Security
Antworten