Hallo,
ich möchte aus einem Access-Formular heraus beim Anklicken eines bestimmten Feldes mit Hilfe einer VBA-Routine ein Grafikprogramm (zB. IrfanView) zur Anzeige einer Grafik starten.
Mein Problem:
mit Hilfe des Befehls ‚ProgrAufruf = Shell(„IrfanProgr…“, 1)‘ startet Irfan, aber nicht, wie gewünscht, im Vordergrund.
Wie bringe ich Irfan in den Vordergrund?
Es grüßt
Tomte
Moin Moin,
könntest du bitte mal deine vollständige Prozedur/Funktion hier posten?
Ich denke, nachdem du das externe Programm aufrufst, machst du noch was in Access so dass der Fokus wieder zu Access wandert.
Grüße aus Rostock
Wolfgang
(Netwolf)
Hallo Wolfgang,
hier kommt meine Sub:
Sub picGrafik_Click()
txtGrafikDatei.SetFocus
If txtGrafikDatei.Text „“ Then
ProgrAufruf = strGrafProg & " " & txtGrafikDatei.Text
ProgrAufruf = Shell(ProgrAufruf, 1)
End If
End Sub
Hinweis: in ‚strGrafProg‘ verbirgt sich der IrfanView-Aufruf,
in ‚txtGrafikDatei‘ steckt der Name der aufzurufenden Grafik-Datei.
Gruß
Tomte
Hallo,
vielleicht ist Shellexecute die bessere Wahl:
http://dbwiki.net/wiki/VBA_Tipp:_Anwendung_mit_Shell…
Viele Grüße vom Bodensee
Franz, DF6GL
Hallo Tomte,
ich gehe mal davon aus, dass du keine globalen Variablen verwendest.
Somit probiere folgenden Code:
Sub picGrafik_Click()
If len(me.txtGrafikDatei.Text)>0 Then Application.FollowHyperlink me.txtGrafikDatei.Text, , True
End Sub
Ich setze voraus, dass in me.txtGrafikDatei.Text der richtige Pfad zum Bild und die richtige Dateiendung mit eingetragen ist.
Beispiel: C:\MeineBilder\Testbild1.jpg
Weiterhin setze ich voraus, dass Irfan View als Standard-Betrachter für den Bildtyp konfiguriert ist.
Grüße aus Rostock
Wolfgang
(Netwolf)