Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Windows vs. MAC

VBA Windows vs. MAC
23.10.2019 20:09:38
Stuppe
Habe ein VBA Script, welches mir eine Vidodatei abspielt und auf Windows funktioniert:
ThisWorkbook.FollowHyperlink Address:="C:\Users\Wilfried\Video.avi"
Funktioniert aber nicht auf dem MAC:
Habe dann einen alternativen Script ausprobiert der ebenfalls in Windows funktioniert nicht aber auf dem MAC
Dim objShell, datei
Set objShell = CreateObject("Shell.Application")
datei = "C:\Users\Wilfried\Video.avi"
objShell.ShellExecute datei, "", "", "open", 3
Set objShell = Nothing
Mir ist klar dass die Filestruktur eine andere ist und habe daher beim Pfad folgendes eingegeben
/Users/Wilfried/Video.avi (also ohne c: und Schrägstrich anstatt Backslash)
Es kam eine Fehlermeldung "Laufzeitfehler 429: Objekterstellung durch ActiveX-Komponente nicht möglich
und beim debuggen wurde mir folgende Zeile gelb markiert:
Set objShell = CreateObject("Shell.Application")
Danke für euren Tipp!
LG
Wilfried
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Windows vs. MAC
23.10.2019 20:40:40
Nepumuk
Hallo Wilfried,
bei FollowHyperlink ist bestimmt der Pfad falsch, den musst du auf deinen MAC anpassen. erstell einfach mal einen Hyperlink in Excel auf die Datei, dann siehst du wie der Pfad lauten muss.
Shell.Application kann auf einem MAC nicht funktionieren da es da keine Windows-DLL's gibt.
Gruß
Nepumuk
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA auf Windows vs. Mac: Lösungen und Tipps


Schritt-für-Schritt-Anleitung

Wenn Du ein VBA-Skript hast, das auf Windows funktioniert, aber auf einem Mac Probleme verursacht, gehe wie folgt vor:

  1. Überprüfe den Dateipfad: Der Pfad zu Deiner Datei muss an die macOS-Umgebung angepasst werden. Anstelle von C:\Users\Wilfried\Video.avi solltest Du /Users/Wilfried/Video.avi verwenden.

  2. Verwende FollowHyperlink: Anstatt Shell.Application, benutze ThisWorkbook.FollowHyperlink. Dein Code könnte folgendermaßen aussehen:

    ThisWorkbook.FollowHyperlink Address:="/Users/Wilfried/Video.avi"
  3. Testen: Führe das Skript im VBA-Editor auf Deinem Mac aus, um sicherzustellen, dass es keine Fehler gibt.


Häufige Fehler und Lösungen

  • Laufzeitfehler 429: Wenn Du die Fehlermeldung "Laufzeitfehler 429: Objekterstellung durch ActiveX-Komponente nicht möglich" erhältst, liegt das daran, dass Shell.Application nicht auf macOS funktioniert.

  • Falscher Dateipfad: Stelle sicher, dass der Pfad korrekt ist und keine Windows-spezifischen Elemente wie Backslashes () verwendet werden.


Alternative Methoden

Falls die oben genannten Methoden nicht funktionieren, kannst Du folgende Alternativen in Betracht ziehen:

  • AppleScript verwenden: Du kannst auch AppleScript verwenden, um Medien auf einem Mac abzuspielen. Hier ist ein einfaches Beispiel:

    Dim script As String
    script = "tell application ""QuickTime Player"" to open ""/Users/Wilfried/Video.avi"""
    MacScript script
  • VBA-Editor macOS: Stelle sicher, dass Du im VBA Editor von Excel für Mac arbeitest, um den richtigen Kontext für Deine Skripte zu haben.


Praktische Beispiele

Hier sind zwei Beispiele, wie Du VBA auf einem Mac nutzen kannst:

  1. Video abspielen:

    Sub PlayVideo()
       Dim videoPath As String
       videoPath = "/Users/Wilfried/Video.avi"
       ThisWorkbook.FollowHyperlink Address:=videoPath
    End Sub
  2. Datei öffnen:

    Sub OpenFile()
       Dim filePath As String
       filePath = "/Users/Wilfried/Document.docx"
       ThisWorkbook.FollowHyperlink Address:=filePath
    End Sub

Tipps für Profis

  • Verwende den VBA-Editor für Mac: Achte darauf, dass Du mit dem VBA Editor für Mac arbeitest, um die richtigen Funktionen für macOS zu nutzen.

  • Teste regelmäßig: Führe Dein Skript regelmäßig in der VBA-Umgebung auf dem Mac aus, um sicherzustellen, dass alles funktioniert, besonders nach Updates.

  • Backup Deiner Skripte: Bevor Du Änderungen vornimmst, mache immer ein Backup Deiner VBA-Skripte.


FAQ: Häufige Fragen

1. Warum funktioniert mein VBA-Skript nicht auf dem Mac?
Das liegt oft an der unterschiedlichen Dateistruktur und der Tatsache, dass bestimmte Windows-spezifische Funktionen wie Shell.Application auf dem Mac nicht verfügbar sind.

2. Wie passe ich einen Dateipfad für Mac an?
Ersetze Backslashes () durch Schrägstriche (/) und entferne Laufwerksbuchstaben wie C:. Ein Beispiel wäre: C:\Users\Wilfried\Video.avi wird zu /Users/Wilfried/Video.avi.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige