Hallo,
in meiner Extension "mottco" (http://calc-info.de/makros.htm#mottco) verwende
ich folgendes Makro zum Aufrufen einer PDF-Datei:
Sub hilfe_aufrufen()
Dim aService
Dim pdf_verzeichnis
aService =
GetDefaultContext().getByName("/singletons/com.sun.star.deployment.PackageInformationProvider")
pdf_verzeichnis = aService.getPackageLocation("org.joesch.mottco") &
"/mottco/"
If FileExists(ConvertToUrl(pdf_verzeichnis & "mottco_hilfe.pdf")) Then
Dim starten as object
starten =
createUnoService("com.sun.star.system.SystemShellExecute")
starten.execute(ConvertToUrl(pdf_verzeichnis &
"mottco_hilfe.pdf"), "", 0)
Else
MsgBox ("Die Hilfedatei wurde nicht gefunden."
,16,"Hilfedatei nicht vorhanden")
Exit Sub
End If
End Sub
was bisher (LO bis 6.x) auch immer funktioniert hat.
In LO 7.x (getestet in 7.0.1 und 7.1.0) ergibt "starten.execute..." nun jedoch
die Fehlermeldung:
"file:///E:/LO_710/LibreOfficePortable/App/libreoffice/program/../../../Data/settings/user/uno_packages/cache/uno_packages/lu7860nw7fts.tmp_/mottco_200.oxt
konnte nicht gefunden werden [...]"
Augenscheinlich ersetzt "com.sun.star.system.SystemShellExecute" das
"/../../../" nicht mehr richtig, denn wenn ich testweise den Pfad händisch
'zurechtfummle' klappt es:
pdf_verzeichnis =
"file:///E:/LO_710/LibreOfficePortable/Data/settings/user/uno_packages/cache/uno_packages/lu7860nw7fts.tmp_/mottco_200.oxt"
& "/mottco/"
If FileExists(ConvertToUrl(pdf_verzeichnis & "mottco_hilfe.pdf")) Then
Dim starten as object
starten =
createUnoService("com.sun.star.system.SystemShellExecute")
starten.execute(ConvertToUrl(pdf_verzeichnis &
"mottco_hilfe.pdf"), "", 0)
Wohlgemerkt wird aber das "/../../../" in "FileExists( ..." sehr wohl richtig
verarbeitet, denn das hier liefert True:
aService =
GetDefaultContext().getByName("/singletons/com.sun.star.deployment.PackageInformationProvider")
pdf_verzeichnis = aService.getPackageLocation("org.joesch.mottco") & "/mottco/"
Msgbox FileExists(ConvertToUrl(pdf_verzeichnis & "mottco_hilfe.pdf"))
Meinungen?
Gruß
Jörg
--
Liste abmelden mit E-Mail an: discuss+unsubscr...@de.libreoffice.org
Probleme?
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/discuss/
Datenschutzerklärung: https://www.documentfoundation.org/privacy