2016-04-11 11 views
0

Ich habe eine Vorlage mit einigen Makros in OpenOffice Writer gemacht. Für diese Makros brauche ich die TemplateURL. Ich schreibe Makros in OpenOffice Basic.Starten Sie eine OpenOffice Vorlage von der Eingabeaufforderung

Wenn ich (zum Beispiel) TemplateDossierNew.ott durch einen Doppelklick starte (dann erzeugt es ein neues Dokument mit dem Namen Untitled 1.odt, basierend auf TemplateDossierNew.ott), aber es erlaubt mir nicht, die TemplateURL zu bekommen. Weil es nicht weiß, auf welcher Vorlage die Datei basiert? Ich weiß nicht warum.

Wenn ich OpenOffice öffne und dann TemplateDossierNew wähle über das "Templates and Documents - My Templates" -Dialog erlaubt mir die generierte Datei getTemplateURL zu verwenden. : C: \ PathToSOffice \ soffice.exe

ich eine Openoffice-Datei über die Eingabeaufforderung durch öffnen kann „C: \ PathToFile \ TemplateDossierNew.ott“ Wenn ich die Datei auf diese Weise öffnen sie hat keine Vorlage Informationen wie der Doppelklick-Weg.

Was ich brauche: Ich möchte die OpenOffice Vorlage über meine Eingabeaufforderung öffnen. Wichtig ist, dass die neu generierte Datei (Untitled 1.odt) weiß, auf welcher Vorlage sie basiert, also kann ich getTemplateURL verwenden.

Vielen Dank im Voraus!

+0

Dies ist eine Follow-up Frage her m: http://stackoverflow.com/questions/36444239/openoffice-template-startup-get-directory-macro –

+0

Ja, aber das ist eine andere Art von Frage meiner Meinung nach. Du hast mir geholfen, näher an die Lösung zu kommen, thnks! Leider hat es mein Problem nicht vollständig gelöst. – 476rick

+0

Verstanden. Ich habe es nicht als Duplikat markiert, sondern wollte nur darauf hinweisen, dass sie verwandt sind. –

Antwort

0

Wenn Sie Ihre Vorlage in der Vorlagenverwaltung zu OpenOffice hinzufügen, wird die Vorlage in ... \ AppData \ Roaming \ OpenOffice \ 4 \ user \ template abgelegt.

Wenn Sie einen Befehl mit dem Pfad zu der Vorlage in Ihrem AppData verwenden, können Sie getDocumentProperties und TemplateURL in Ihrem Makro verwenden. Es bezieht sich auf den Ort in Ihren AppData.

Beispiel in der Eingabeaufforderung zu setzen:

swriter C: \ Benutzer \ Benutzer \ AppData \ Roaming \ Openoffice \ 4 \ user \ TemplateDossierNew.ott \ template.

Wenn Sie diesen Code in Ihrem Makro haben: (und führen Sie dann den Befehl oben in Ihrer Eingabeaufforderung)
MsgBox "TemplateURL=" + ThisComponent.getDocumentProperties().TemplateURL

Der Ausgang wird sein:

TemplateURL = file: ///C:/Users/user/AppData/Roaming/OpenOffice/4/user/template/TeplateDossierNew.ott