vba Script soll App aus Automator aufrufen

rosche

Neues Mitglied
Thread Starter
Mitglied seit
11.11.2020
Beiträge
9
Hallo,
ich hab mir mit dem Automator einen Workflow angelegt und diese als .app abgespeichert.
Leider bekomme ich es nicht hin, aus vba (in Excel) diese app zu starten - ich bekomme auch nicht zum testen hin, einen andere App zu starten.

Ich nutze zum Beispiel:
Shell ("/Users/xyz/Desktop/VTC/Aktien.app")
aber leider passiert nichts. Die App Aktien liegt natürlich in diesem Verzeichnis.

Danke und Gruss
rs
 

klausmajor

Mitglied
Mitglied seit
17.12.2010
Beiträge
752
Du musst der SHELL schon sagen, was Du möchtest! :-D
Probiere das mal aus:
Shell ("open /Users/xyz/Desktop/VTC/Aktien.app")
 

rosche

Neues Mitglied
Thread Starter
Mitglied seit
11.11.2020
Beiträge
9
Hallo,
vielen Dank, aber auch das scheint irgendwie nicht zu funktionieren.

Habe nun im vba mal eine Abfrage gemacht, ob die Datei überhaupt existiert:
If Dir("/Users/xyz/Desktop/VTC/Stocks.app") <> "" Then
MsgBox "vorhanden"
Else
MsgBox "nicht vorhanden"
End If
Bekomme aber die Meldung, dass die Datei nicht existiert - sie ist aber im Finder definitiv vorhanden. Auch im Terminal kann ich sie sehen.

Nutze Office365 (16.42), MacOS (10.15.7).

Hast Du vllt. noch einen Tipp.
 

klausmajor

Mitglied
Mitglied seit
17.12.2010
Beiträge
752
Hallo,
vielen Dank, aber auch das scheint irgendwie nicht zu funktionieren.
was heisst "scheint"? Was passiert, bzw. was passiert nicht?
Das ist aber der korrekte Befehle, um in der SHELL eine App zu öffnen, ich habe es hier ausprobiert im Terminal:
open /Applications/BBEdit.app
Und ZACK, BBEdit hat sich geöffnet.

Ich habe keine Erfahrung mit VB, ich arbeite exklusiv mit Livecode, was genau bedeutet das DIR hier:
If Dir("/Users/xyz/Desktop/VTC/Stocks.app") <> "" Then...

Hinweis:
Technisch gesehen, sind macOS APPs eigentlich Ordner!
Liegt's vielleicht daran?
 
  • Gefällt mir
Reaktionen: dg2rbf

rosche

Neues Mitglied
Thread Starter
Mitglied seit
11.11.2020
Beiträge
9
Mit "scheint" meinte ich, dass die App nicht aufgerufen wird.
Wenn ich im Terminal "open Stocks.app" oder auch jede andere App inkl. der aus "Automator-App" aufrufe wird es geöffnet - das ist also alles sehr komisch, aber nicht aus Excel mit dem Shell-Kommando.

Wenn ich in vba nach der Dateiexistenz frage: If Dir("/Users/xyz/Desktop/VTC/Stocks.app",vbDirectory) wird es mir als positiv bestätigt, wenn man vbDirectory weglässt, dann komischerweise nicht.

Also, die App liegt im Verzeichnis, wird aber mit:
Shell ("open /Users/xyz/Desktop/VTC/Stocks.app")
nicht geöffnet. Es erscheint auch keine Fehlermeldung.

Ob es nun am "Ordnerprinzip" liegt kann ich nicht sagen, liegt aber vllt. nahe, da ich keinerlei App via Shell öffnen kann.
Gibt es evtl einen andere Möglichkeit ?
 

klausmajor

Mitglied
Mitglied seit
17.12.2010
Beiträge
752
Hast Du das auch mal im TERMINAL ausprobiert:
open /Users/xyz/Desktop/VTC/Stocks.app
?

Handhabt VB SHELL Aufrufe eventuell irgendwie anders?
Vielleicht benötigt VB den kompletten Pfad? Also mit Festplatte und allem?
Bei MS weiß man ja nie so genau...
 

rosche

Neues Mitglied
Thread Starter
Mitglied seit
11.11.2020
Beiträge
9
Ja, im Terminal läuft es.

Laut "Tante Google" ist wohl so, dass das Excel inkl. vba in einer Sandbox läuft und man wohl den Zugriff auf etxra Dateien explizit freigeben muss (https://github.com/OfficeDev/VBA-content/blob/master/VBA/Office-Mac-VBA/GrantAccessToMultipleFiles.md)
Aber selbst wenn ich die App mit fileAccessGranted "freigebe" und ein true zurückbekomme, wird die App nicht gestartet.

Update: Hier steht es auch: https://docs.microsoft.com/de-de/office/vba/office-mac/grantaccesstomultiplefiles
 
Zuletzt bearbeitet:

klausmajor

Mitglied
Mitglied seit
17.12.2010
Beiträge
752
Ach ja, Sandbox, vergesse ich immer wieder.
Tut mir leid, dann bin ich mit meinem Latein am Ende.
 
Oben