user4711
24-02-08, 11:18
Hallo Forum,
habe schon einige Makros gebastelt, die auch ganz gut laufen, aber nun stehe ich vor einem Problem und komme nicht weiter.
Wir benutzen oft Daten vom PC, die übernommen werden müssen. Damit die User wie gewohnt ihre Datei auf dem PC auswählen können, will ich den Windows-Dateiauswahl-Dialog einbauen. Das funktioniert auch prima, wenn der Aufruf gleich am Anfang des Makros steht. Aber üblicherweise haben wir vorher noch eine msgbox, die verschiedene Infos austauscht.
Wenn die auskommentierte Zeile im Beispiel unten scharf ist, wird danach das Fenster mit der Dateiauswahl auf dem PC immer im Hintergrund geöffnet (d.h. der Anwender sieht es nicht sofort, sondern muß ahnen, dass er erst dieses Fenster suchen muß, damit das Makro weitergeht).
Wie kann ich erreichen, dass das Fenster IMMER im Vordergrund startet?
Ich hoffe mein Problem ist verständlich.
Beispiel:
[PCOMM SCRIPT HEADER]
LANGUAGE=VBSCRIPT
DESCRIPTION=
[PCOMM SCRIPT SOURCE]
OPTION EXPLICIT
autECLSession.SetConnectionByName(ThisSessionName)
DIM Antwort, dialog, pfad
DIM Mldg, Stil, Titel
Mldg = "Testmakro starten ?"
Stil = vbYesNo + vbDefaultButton1
Titel = "Testtool Datei-Dialog"
' Antwort = MSGBOX(Mldg, Stil, Titel) ' hier liegt das Problem !?
FUNCTION getFilepath(dir)
SET dialog = CreateObject("MSComDlg.CommonDialog")
dialog.Filter = "csv-Dateien (*.csv)|*.csv|alle Dateien (*.*)|*.*"
dialog.Flags = &H1004
dialog.MaxFileSize = 260
dialog.CancelError = false
dialog.DialogTitle = "csv-Datei auswählen"
dialog.InitDir = dir
dialog.ShowOpen
getFilepath = dialog.filename
END FUNCTION
as400
SUB as400
CONST ForReading = 1, ForWriting = 2, ForAppending = 3
CONST TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
pfad = getFilepath("C:\temp")
Antwort = MSGBOX("ausgewählt wurde: " & pfad, , "Funktionsergebnis")
END SUB
Weiß hier jemand Rat ?
Besten Dank !
habe schon einige Makros gebastelt, die auch ganz gut laufen, aber nun stehe ich vor einem Problem und komme nicht weiter.
Wir benutzen oft Daten vom PC, die übernommen werden müssen. Damit die User wie gewohnt ihre Datei auf dem PC auswählen können, will ich den Windows-Dateiauswahl-Dialog einbauen. Das funktioniert auch prima, wenn der Aufruf gleich am Anfang des Makros steht. Aber üblicherweise haben wir vorher noch eine msgbox, die verschiedene Infos austauscht.
Wenn die auskommentierte Zeile im Beispiel unten scharf ist, wird danach das Fenster mit der Dateiauswahl auf dem PC immer im Hintergrund geöffnet (d.h. der Anwender sieht es nicht sofort, sondern muß ahnen, dass er erst dieses Fenster suchen muß, damit das Makro weitergeht).
Wie kann ich erreichen, dass das Fenster IMMER im Vordergrund startet?
Ich hoffe mein Problem ist verständlich.
Beispiel:
[PCOMM SCRIPT HEADER]
LANGUAGE=VBSCRIPT
DESCRIPTION=
[PCOMM SCRIPT SOURCE]
OPTION EXPLICIT
autECLSession.SetConnectionByName(ThisSessionName)
DIM Antwort, dialog, pfad
DIM Mldg, Stil, Titel
Mldg = "Testmakro starten ?"
Stil = vbYesNo + vbDefaultButton1
Titel = "Testtool Datei-Dialog"
' Antwort = MSGBOX(Mldg, Stil, Titel) ' hier liegt das Problem !?
FUNCTION getFilepath(dir)
SET dialog = CreateObject("MSComDlg.CommonDialog")
dialog.Filter = "csv-Dateien (*.csv)|*.csv|alle Dateien (*.*)|*.*"
dialog.Flags = &H1004
dialog.MaxFileSize = 260
dialog.CancelError = false
dialog.DialogTitle = "csv-Datei auswählen"
dialog.InitDir = dir
dialog.ShowOpen
getFilepath = dialog.filename
END FUNCTION
as400
SUB as400
CONST ForReading = 1, ForWriting = 2, ForAppending = 3
CONST TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
pfad = getFilepath("C:\temp")
Antwort = MSGBOX("ausgewählt wurde: " & pfad, , "Funktionsergebnis")
END SUB
Weiß hier jemand Rat ?
Besten Dank !