Date: prev next · Thread: first prev next last
2021 Archives by date, by thread · List index


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+unsubscribe@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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.