Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1320to1324
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

Dialogbox öffnen

Dialogbox öffnen
12.07.2013 07:25:15
Wilfied
Hallo Leutz,
das Thema geört nur bedingt ins Excel-Forum, aber bei den Spezialisten hier bin ich mir sicher Hilfe zu finden.
ich verwende ein VB-Script um aus Mainframe Applikationen Bildschirminhalte auszulesen.
bis gestern nutze ich die virtuelle XP-Maschine weil das Script nur XP läuft (lief).
XP wird jetzt bei uns abgeschaltet und ich habe das Script soweit modifiziert, dass es unter WIN7 läuft.
In Script gibt es aber eine Passage zum Öffnen einer Dialogbox um die Exceldatei auszuwählen, in die die Informationen aus der Mainframe geschrieben werden sollen.
Das funktioniert nicht, weil der Befehl unter WIN7 anscheinend nicht mehr gültig ist.
Kennt jemand von euch den richtigen Text?
Set ObjFSO = CreateObject("UserAccounts.CommonDialog")
'ObjFSO.Filter = "VBScripts|*.vbs|Text Documents|*.txt|All Files|*.*"
ObjFSO.Filter = "Excel-Files|*.xls"
ObjFSO.FilterIndex = 1 'Default value (no in Filter-List)
ObjFSO.InitialDir = "C:\AMANDA\"
InitFSO = ObjFSO.ShowOpen
Will

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dialogbox öffnen
12.07.2013 07:46:37
Wilfied
sehe gerade dass die ganze Passage so aussieht:
Set ObjFSO = CreateObject("UserAccounts.CommonDialog")
'ObjFSO.Filter = "VBScripts|*.vbs|Text Documents|*.txt|All Files|*.*"
ObjFSO.Filter = "Excel-Files|*.xls"
ObjFSO.FilterIndex = 1 'Default value (no in Filter-List)
ObjFSO.InitialDir = "C:\AMANDA\"
InitFSO = ObjFSO.ShowOpen
else
InitFSO = inputbox("Please enter Data-File-Name incl. Folder:","Select Input-File" ,"C:\AMANDA\")
If right(InitFSO,4) ".xls" THEN InitFSO=InitFSO + ".xls"
end if
If InitFSO = False Then
MsgBox "Please select a file! - Tool will be closed now!"
exit sub
Else
set shell = CreateObject("Shell.Application")
If WinXP then
Set excel = GetObject(ObjFSO.FileName)
else
Set excel = GetObject(InitFSO)
end if
End If

Anzeige
AW: Dialogbox öffnen
12.07.2013 13:57:14
Wilfied
leider nicht,
ich vermute, dass das Problem darin liegt, dass ich das script aus der IBM Personal Communication aus aufrufen muss...
ich habe hunderte Lösungsansätze im Netz gefunden, nichts läuft

AW: Dialogbox öffnen
12.07.2013 18:17:57
Jürgen
Hallo Wilfried,
"nichts läuft" ist eine recht vage Beschreibung - gibt es ein Fehlermeldung, und wenn ja welche und ggfs. in welcher Zeile?
Gruß, Jürgen

Anzeige
AW: Dialogbox öffnen
15.07.2013 11:49:31
Wilfied
das Skript läuft durch bis quasi zum Ende des gesamtem Skriptes (Zeile 246, die Dialogbox sollte ab Zeile 77 gestartet werden) ohne dass eine Aktion ausgeführt wird.
Der Autor der Beispiele beschreibt aber auch, dass Beispiel 1 nur für XP ist, Beispiel 2 nicht unter WIN7 läuft
Will

AW: Dialogbox öffnen
15.07.2013 13:58:17
bst
Auch nochmals Hallo,
dann versuche es mit der 3. Version, darunter steht zu mindestens: Works in all Windows versions.
Wenn Du ein Excel verfügbar hast kannst Du auch dieses zur Pfadeingabe zweckentfremden.
Das dauert dann aber noch etwas länger.
cu, Bernd

AW: Dialogbox öffnen
15.07.2013 14:19:12
Wilfied
ok, ich habe mit der 3 Variante zumindest erreicht, dass er die Dialogbox öffnet.
mein Script siekt im Mom so aus :
'---------- Open Excel-Data-File ----------
On Error Resume Next
ChooseFile = ""
Set objIE = CreateObject( "InternetExplorer.Application" )
objIE.visible = False
objIE.Navigate( "about:blank" )
Do Until objIE.ReadyState = 4
Loop
objIE.Document.Write ""
With objIE.Document.all.FileSelect
.focus
.click
strSelected = .value
End With
objIE.Quit
Set objIE = Nothing
ChooseFile = strSelected
InitFSO = ChooseFile
If InitFSO = False Then
MsgBox "Please select a file! - Tool will be closed now!"
exit sub
Else
set shell = CreateObject("Shell.Application")
Set excel = GetObject(InitFSO)
End If
'- - - - - - END Open Excel-Data-File - - - - - -
fn=InitFSO
msgbox "Please make sure that " & fn & " is open and the 'prevDate'-Sheet is empty!"
bis dahin komme ich.
läuft das Script, und die message box "msgbox "Please make sure that " & fn & " is open and the 'prevDate'-Sheet is empty!"" erscheint, steht da aber nicht der Pfad und der Dateiname den ich ausgewählt habe sonder C:\fakepath\dateiname und meine Mainframeapplikation verschwindet im Nirvana
Will

Anzeige
AW: Dialogbox öffnen
15.07.2013 14:30:14
Wilfied
es läuft...
'---------- Open Excel-Data-File ----------
Set oExec=CreateObject("WScript.Shell").Exec( "mshta.exe ""about:" & "" & "FILE.click();new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).WriteLine(FILE.value);close();resizeTo(0,0);" & """" )
Tst = oExec.StdOut.ReadAll
Tst = Replace( Tst, vbCRLF, "" )
MsgBox "==" & Tst & "=="
InitFSO = TST
If InitFSO = False Then
MsgBox "Please select a file! - Tool will be closed now!"
exit sub
Else
set shell = CreateObject("Shell.Application")
Set excel = GetObject(InitFSO)
End If
'- - - - - - END Open Excel-Data-File - - - - - -
fn=InitFSO
msgbox "Please make sure that " & fn & " is open and the 'prevDate'-Sheet is empty!"

Anzeige
AW: Dialogbox öffnen
17.07.2013 08:54:46
bst
Hi,
interessant. Das ist jetzt erst das zweite Mal dass ich auf ein Script mit mshta.exe gestoßen bin.
Kennst sich damit jemand aus?
cu, Bernd

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige