BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Ordner per Makro öffnen (MacOS)

Alles zur Programmierung im LibreOffice.
Antworten
asr10
Beiträge: 5
Registriert: Mo 9. Sep 2019, 11:46

Ordner per Makro öffnen (MacOS)

Beitrag von asr10 » Di 5. Nov 2019, 10:44

Hallo,

ich möchte nochmals um Hilfe bitten.

Ich bin mit meiner Datenbank von Win zu Mac umgezogen. Alles funktioniert soweit, allerdings liefert das Makro, mit welchem der Ordner zum entsprechenden Datensatz geöffnet wird, unter MacOS einen Fehler.

Ich habe im Formular einen button mit den Eigenschaften
(General) Action....Open document/web page and (Events) Execute action....<macro>

Das Makro selbst lautet im wohl entscheidenden Teil: oFeld2.TargetURL = url

Fahre ich mit der mouse über den button, wird auch der exakte Pfad zum Ordner angezeigt. Drücke ich den button, öffnet sich unter Windows der jeweilige Ordner, unter MacOS erscheint eine die Fehlermeldung:

Warning: "file:///Volumes/space/serverdocs/2019/71-19/" is not an absolute URL that can be passed to an external application to open it. <ok>

Auch die unter
https://forum.openoffice.org/en/forum/v ... er#p476128

dargestellte Variante zum Öffnen eines Dateiordners liefert eine Fehlermeldung (its a directory).

Ich freue mich sehr über Hilfe und danke für Eure Zeit.

balu
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: Ordner per Makro öffnen (MacOS)

Beitrag von balu » Mi 6. Nov 2019, 12:31

Hallo asr10,

wie soll man dir helfen ohne den Code zu kennen?
öffnet sich unter Windows der jeweilige Ordner, unter MacOS erscheint eine die Fehlermeldung
Tja, Mac is nicht Win!
Bei beiden ist die Schreibweise von Lokalen Pfaden (die eigene Fättplatte) anders. Wenn dein Makro unter Win lief, lässt das darauf schließen das es auch für Win geschrieben war. Jetzt musst Du aber wohl die Pfadangaben ändern, da es sich jetzt um Mac handelt.

Aber wie schon gesagt, ohne Code keine Zielführende Hilfe.



Gruß
balu

asr10
Beiträge: 5
Registriert: Mo 9. Sep 2019, 11:46

Re: Ordner per Makro öffnen (MacOS)

Beitrag von asr10 » Mi 6. Nov 2019, 12:49

Lieben Dank für die Antwort.

Die Pfade habe ich natürlich angepasst gehabt. Erstellte Dokumente werden auch im richtigen Ordner gespeichert, Vorlagen aus dem richtigen Ordner geöffnet, nur der Ordner selbst nicht...

Mein Makro folgt dem RobertGs (https://de.openoffice.info/viewtopic.ph ... 52#p244041), mit Abwandlung des Pfads (hier an die an den Mac angepasste Variante):

sub OpenDir
DIM oForm AS OBJECT
DIM oSubForm AS OBJECT
oDoc = thisComponent
oForm = thisComponent.Drawpage.Forms.MainForm 'Das Hauptformular wird angesteuert. Hier könnte auch die Lage des auslösenden Buttons das Formular selbst ermitteln.
oSubForm = oForm.getbyname ("SubForm")
(...)
url = ConvertToURL(stpath & stJahr & "/" & stAZ & "/" )
oFeld2 = oSubForm.getByName("Schaltflache_dir")
oFeld2.TargetURL = url
end sub

Wenn die mouse über der Schaltfläche ist, wird der korrekte Pfad angezeigt. Dieser läßt ich auch im Terminal mit "open" + Pfad öffnen.


...hab zwischenzeitlich auch diese Variante (https://forum.openoffice.org/en/forum/v ... er#p476128) versucht, also:

oSyShell = CreateUnoService("com.sun.star.system.SystemShellExecute")
oSyShell.execute(url, "", 0)

in allen Varianten, als mit url, einem Pfad...bin verzweifelt

asr10
Beiträge: 5
Registriert: Mo 9. Sep 2019, 11:46

Re: Ordner per Makro öffnen (MacOS)

Beitrag von asr10 » Do 7. Nov 2019, 16:09

Ok, hab nach vielen Versuchen eine erste Lösung gefunden, falls niemand etwas eleganteres findet und jemand ein ähnliches Problem hat.

Ordner lassen sich bei mir nun im Finder öffnen mit:

oShell = createUnoService("com.sun.star.system.SystemShellExecute")
command = "open"
args = "/Volumes/Extreme SSD/dokumente/" & stJahr & "/" & stAZ 'beispielhafte Pfadkonstruktion
oShell.execute( command, args, 0)

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten