Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1408to1412
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Shell-Aufruf

Shell-Aufruf
27.02.2015 08:34:37
Franz
Hallo Fachleute,
ich starte einen shell-Aufruf, genau wie in der VBA-HIlfe angegeben, ...
Sub aufruf_Finale()
Dim Ergebnis
Ergebnis = Shell("C:\_MY\aa MUSI\04 SE\_Stuecke fuer SE\0a Bach - Air.musx - Verknüpfung.lnk", _
1)
End Sub

... bekomme aber eine Fehlermeldung:
"Ungültiger Prozeduraufruf oder ungültiges Argument"
Der Pfad ist definitv richtig eingegeben - mehrfach überprüft und immer wieder neu reinkopiert aus dem Explorer, um Eingabefehler zu vermeiden. Woran kann es noch liegen?
Danke schonmal und Grüße
Franz

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Shell-Aufruf
27.02.2015 08:52:15
Luschi
Hallo Franz,
ich habe mal für Dich gegoogelt mit den Stichworten:
vba shell verknüpfung
Und hier findest Du die Antwort: http://support.microsoft.com/kb/506168/de
Gruß von Luschi
aus klein-Paris
PS - Hinweis: Leerzeichen im Pfad

AW: Shell-Aufruf
27.02.2015 09:50:08
Franz
Hallo Luschi,
jetzt hab ich mal nen komplett neuen Pfad erstellt, sogar sämtliche Unterstriche rausgelassen.
Und weil's dann immer noch nicht geklappt hat, war meine Idee, dass es vielleicht an der Verknüpfungsgeschichte liegt. Darum hab ich mal keine Verknüpfung, sondern die Originaldatei reinkopiert, auch da sämtliche Leerzeichen & co rausgenommen. Es gibt auch keine dt. Umlaute. Aber irgendwie mag es immer noch nicht:
Sub aufruf_Finale()
Dim Ergebnis
Ergebnis = Shell("C:\MY\aaMusi\04SE\StueckeFuerSE\BachAir.musx", 1)
End Sub

Die Fehlermeldung ist immer noch die gleiche........?
Jetzt hatte ich noch ne andere Idee: vielleicht liegt's an der 4-stelligen Suffix. Jetzt hab ich das "x" hinten mal weg, und siehe da: jetzt kommt die Fehlermeldung: "Datei nicht gefunden."
Also die Datei aufgerufen und ins alte .mus-Format exportiert im selben Verzeichnis: jetzt kommt wieder die erste Fehlermeldung von wegen "Ungültiger Prozeduraufruf..........."
Und das kann ich jetzt beliebig machen:
Datei im Ordner umbenennen in einen anderen Namen als in VBA: "Datei nicht gefunden."
Datei genau richtig benennen wie in VBA: "Ungültiger............"
Woran kann es denn noch liegen?
Grüße
Franz
Grüße
Franz

Anzeige
AW: Shell-Aufruf
27.02.2015 11:09:59
Luschi
Hallo Franz,
der Shell-Befehl verlangt eine ausführbare Datei(*.com oder4 *.exe) oder einen Link (*.lnk)
Doch was er mit dem Dateityp *.musx anfangen - hier muß Windows einfach kapitulieren!
Gruß von Luschi
ausm klein-Paris

AW: Shell-Aufruf
27.02.2015 12:57:58
Franz
Hallo Luschi,
danke, ich verstehe.
Von Oberschlumpf gibt es einen Ansatz: https://www.herber.de/forum/archiv/1408to1412/t1410836.htm
Das hab ich jetzt umzusetzen versucht:
Sub aufruf_Finale()
Dim Ergebnis
Ergebnis = Shell("C:\Program Files (x86)\Finale 2014\Finale.exe" "C:\MY\aaMusi\04SE\ _
StueckeFuerSE\BachAir.mus")
End Sub

Allerdings wird hiermit die Schreibweise moniert: "Erwartet Listentrennzeichen oder )"
Setze ich ein Komma zwischen die beiden mittleren "" .......
Sub aufruf_Finale()
Dim Ergebnis
Ergebnis = Shell("C:\Program Files (x86)\Finale 2014\Finale.exe", "C:\MY\aaMusi\04SE\ _
StueckeFuerSE\BachAir.mus")
End Sub

... stimmt's auch wieder nicht, jetzt heißt es "Typen unverträglich"
Gibt's noch eine Idee?
Grüße
Franz
P.S.: mus oder musx macht keinen Unterschied, Finale 2014 kann beides.....

Anzeige
AW: Shell-Aufruf
28.02.2015 11:04:20
Luschi
Hallo Franz,
wenn du Dir den von mir geposteten Link _ http://support.microsoft.com/kb/506168/de nochmals genau durchliest, dann findest Du folgendes Beispiel:

Function Aufruf()
Dim x
x = Shell("start ""C:\EIGENE DATEIEN\MYPROGR.LNK""")
End Function
Die doppelten Anführungszeichen innerhalb der Zeichenkette sind in diesem Fall notwendig,
da der Verzeichnis-Name ein Leerzeichen enthält, und daher innerhalb der Zeichenkette
Anführungszeichen vor und nach dem Verweis auf die Verknüpfung eingefügt werden müssen.
Und bei Dir sind im Pfad 3 Leerzeichen!!! drin.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Shell-Aufruf
28.02.2015 12:38:41
Franz
Hallo Luschi,
vielen Dank, dass Du Dich meiner nochmal annimmst. Und ich neige auch gleich mein Haupt in Demut. Weil ich das mit x = Shell("start ""C:\EIGE....... zwar schon gelesen und auch ausprobiert habe. Aber ich hab die Zeile nicht gscheit zu Ende gelesen und somit die doppelten "" am Ende übersehen und nicht übernommen. Und damit hat's natürlich wieder nicht funktioniert.
In meinem letzten Beispiel
Sub aufruf_Finale()
Dim Ergebnis
Ergebnis = Shell("C:\Program Files (x86)\Finale 2014\Finale.exe", "C:\MY\aaMusi\04SE\ _
StueckeFuerSE\BachAir.mus")
End Sub
hab ich mir deshalb die Leerzeichen erlaubt (bzw. hab ich den Pfad einfach so übernommen, wie er von Windows rsp. dem Installationsprogramm eingerichtet wurde - ich möcht da ja nicht ins System eingreifen), weil in dem Beispiel von Oberschlumpf ...
Shell("C:\Program Files\Windows Media Player\wmplayer.exe" "E:\!In Arbeit\MP3\02 - Primadonna.mp3")
... ja auch Leerzeichen drin sind. Und ich dachte, wenn er es so postet, wird es bei ihm so funktionieren.
Aber trotzdem nochmal Danke für den Hinweis, ich werde es nochmal angehen und dann berichten.
Grüße
Franz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige