September 19, 2021, 07:46:30

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Inhalt eines Textfeldes an externes Programm übergeben?

Begonnen von Videokind, Mai 09, 2010, 16:50:50

⏪ vorheriges - nächstes ⏩

Videokind

Zuerst ein "Hallo" an Alle!

Verwendet wird eine in Access 2000 erstellte DB mit Access 2003. Betriebssystem: Vista.

Zuerst: Ja, ich habe gegoogelt - stundenlang. Ich habe aber nur Sachen gefunden, die fast mein Problem getroffen haben.

Es geht um eine Filmdatenbank. Ich möchte mit einem Knopfdruck den jeweiligen Film starten.
Meine ursprüngliche Idee mit einem Hyperlink hat sich schnell zerschlagen, da
a) Hyperlinks so ziemlich alle Dateien unterstützen - außer Videos
b) jedesmal der Warnhinweis von MS kommt: "Hyperlinks können gefährliche Daten blablabla..."

Beim Googeln fand ich den Vorschlag, mit einem Button ein externes Programm (hier: Videoplayer) zu starten. Das habe ich auch hinbekommen:

Private Sub Film_ab_Click()
On Error GoTo Err_Film_ab_Click

    Dim L As Long
   
    L = Shell("C:\Program Files\VLC\vlc.exe")
   
Exit_Film_ab_Click:
    Exit Sub

Err_Film_ab_Click:
    MsgBox Err.Description
    Resume Exit_Film_ab_Click
   
End Sub

und auch der funktioniert:

Private Sub Zest_2_Click()
On Error GoTo Err_Zest_2_Click

    Dim stAppName As String

    stAppName = "C:\Program Files\VLC\vlc.exe"
    Call Shell(stAppName, 1)

Exit_Zest_2_Click:
    Exit Sub

Err_Zest_2_Click:
    MsgBox Err.Description
    Resume Exit_Zest_2_Click
   
End Sub

Nun habe ich ein Textfeld, in dem der Pfad zu der Videodatei hinterlegt ist [Text471].

Frage: Wie bekomme ich es hin, dass der Inhalt dieses Textfeldes an das externe Programm übergeben wird?

Ich denke mir, dass das irgendwie mit dem "Me!"-Befehl gehen muss!? Hab schon verschiedene Konstellationen durchprobiert - leider erfolglos.
Das das Abspielen geht, hab ich schon probiert. Wenn ich oben eingebe:
stAppName = "C:\Program Files\VLC\vlc.exe C:Video\Film.avi"
startet es - nur so krieg ich immer den gleichen Film zu sehen  ;D .

Wenn ich schon dabei bin: Ich hätte noch zwei Folgefragen, wenn das Hauptproblem gelöst ist:
1.) Kann es sein, dass beim Übergeben von Pfaden Access Leerzeichen nicht mag? Z.B. beim Dateinamen "Film 1" zickt er, "Film1" ging anstandslos. (Auch "Film%201" stieß auf wenig Gegenliebe).
2.) Wäre es möglich, eine Kette von Filmen als Parameter zu übergeben, z.B.: "C:\Video\Film1.avi, C:Video\Film2.avi" etc.?

Wobei die Zusatzfragen nur kosmetischer Natur sind, mir fällt ein Riesenstein vom Herzen, wenn es überhaupt mal geht.

Vielen Dank fürs Lesen!

MzKlMu

Mai 09, 2010, 17:02:23 #1 Letzte Bearbeitung: Mai 09, 2010, 19:12:34 von MzKlMu
Hallo,
hänge die Datei einfach hintendran:
stAppName = "C:\Program Files\VLC\vlc.exe " & Chr(34) & Me![Text471] & Chr(34)
Achte auf das Leerzeichen nach Exe.
Die Chr(34) (") sind erforderlich wegen den angesprochenen Leerzeichen.
Wobei ich davon aussgehe, dass in [Text471] der Pfad und der Dateiname steht.
Gruß
Klaus

Videokind

Heureka - es funktioniert!  ;D
Sogar mit Leerzeichen.

Vielen, vielen Dank!