[gelöst] BASIC: URL des Dokumentvorlagenordners auslesen

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

Moderator: Moderatoren

craig22
****
Beiträge: 135
Registriert: Mi, 19.08.2020 13:47

[gelöst] BASIC: URL des Dokumentvorlagenordners auslesen

Beitrag von craig22 »

Hallo,

es geht um den Vorlagenordner, welcher unter:
  • OpenOffice
    Menü Extras → Einstellungen... → OpenOffice → Pfade → Dokumentvorlagen
  • LibreOffice
    Menü Extras → Optionen... → LibreOffice → Pfade → Dokumentvorlagen
eingetragen ist.

Dieser verweist entweder auf das Benutzerprofil → Templates
oder
es ist eine benutzerdefinierte Pfadangabe/ URL.

Ich habe dieses Beipielmakro gefunden, allerdings liefert es mir ein seltsames oder
kein Ergebnis wenn ich eine Dokumentvorlage als Vorlage geöffnet habe:

Code: Alles auswählen

REM  *****  BASIC  *****

Sub GetTemplatePath
    Dim oDocProps
    oDocProps = ThisComponent.getDocumentProperties()
'    xray oDocProps
    MsgBox "TemplateURL " & oDocProps.TemplateURL
End Sub
Ausserdem, möchte ich nicht per "ThisComponent" die Dokumenteigenschaften
des gerade geöffneten Templates auslesen, sondern den Pfad/ die URL, welche
unter Pfade → Dokumentvorlagen eingetragen ist.

Das Ganze sollte für Linux und Windows funktionieren.

Gibt es eine solche Methode?
Zuletzt geändert von craig22 am Mo, 01.02.2021 19:30, insgesamt 1-mal geändert.
Gruß

Craig
_____________________________________________________
WIN 10 Pro 64-Bit • LO 7.1.5.2 (x64) • AOO 4.1.8
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: BASIC: URL des Dokumentvorlagenordners auslesen

Beitrag von Stephan »

Du suchst com.sun.star.util.PathSettings

siehe auch:
https://wiki.openoffice.org/wiki/Docume ... h_Settings

im Konkreten für die Dokumentvorlagen:

Code: Alles auswählen

Sub Main
oPathSettings = CreateUnoService( "com.sun.star.util.PathSettings" )
'alle Template-Pfade (als String)
Msgbox opathsettings.Template,,"Template"

'Pfade im Auslieferungszustand (.../Basis/Share/...) und Pfade die per Extension definiert sind (als Array)
x = opathsettings.Template_internal
For i = LBOUND(x()) To UBOUND(x())
j = j & x(i) & CHR(13)
Next i
Msgbox j,,"Template_internal"

j = ""
'vom Benutzer (Extras-Optionen) festgelegte Pfade (als Array)
x = opathsettings.Template_user
For i = LBOUND(x()) To UBOUND(x())
j = j & x(i) & CHR(13)
Next i
Msgbox j,,"Template_user"


'der eine mittels Option-Buttons markierte Template-Pfad in Extras-OPtionen (als String)
Msgbox opathsettings.Template_writable,,"Template_writable"

End Sub

Gruß
Stephan
craig22
****
Beiträge: 135
Registriert: Mi, 19.08.2020 13:47

Re: BASIC: URL des Dokumentvorlagenordners auslesen

Beitrag von craig22 »

Hallo Stephan,

genau das habe ich gesucht.

vielen, vielen Dank :D
Gruß

Craig
_____________________________________________________
WIN 10 Pro 64-Bit • LO 7.1.5.2 (x64) • AOO 4.1.8
Antworten