Page 1 of 1
File Open Dialog
Posted: Thu 13. Oct 2016, 16:43
by MarkSPS
Hi,
In my project I need to open a file for Text Streaming
Code: Select all
' Open file for input streaming
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim fso, f, ts
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile("C:\test\test.csv")
Set ts = f.OpenAsTextStream(ForReading, TristateUseDefault)
Is there an OpenFileDialog feature available so that the user can select the file to open instead of simply a fixed filename in the code above?
Thanks
Re: File Open Dialog
Posted: Fri 14. Oct 2016, 12:39
by PEAK-Support
Herse some sample VBS code that we found in the WEB and changed it for our need.
It´s also depending on the used OS if the sample work or not!
Please keep in minde --> this have nothing to do with our PCAN-Explorer 4/5/6 - this is VBS!
We could not do Standard VBS support in this forum - so use it as it is - change it for your need
1. use a SUB "TestGetFileName" which call 2 differnet type of open a file with a Dialog (Function
GetFileName1 and the Function
GetFileName2)
Code: Select all
Dim sFileSelected
Sub TestGetFileName
PrintToOutputWindow "call GetFileName1:"
GetFileName1
PrintToOutputWindow sFileSelected
PrintToOutputWindow "call GetFileName2:"
GetFileName2
PrintToOutputWindow sFileSelected
End Sub
Function GetFileName1
Set wShell=CreateObject("WScript.Shell")
Set oExec=wShell.Exec("mshta.exe ""about:<input type=file id=FILE><script>FILE.click();new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).WriteLine(FILE.value);close();resizeTo(0,0);</script>""")
sFileSelected = oExec.StdOut.ReadLine
End Function
Function GetFileName2
Set oExec=CreateObject("WScript.Shell").Exec( "mshta.exe ""about:" & "<" & "input type=file id=FILE>" & "<" & "script>FILE.click();new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).WriteLine(FILE.value);close();resizeTo(0,0);" & "<" & "/script>""" )
Tst = oExec.StdOut.ReadAll
Tst = Replace( Tst, vbCRLF, "" )
MsgBox "==" & Tst & "=="
End Function
2. Using an alternative Version of opening a file
Code: Select all
Sub Browse4Files()
Dim objShell
Dim objFolder
Dim objFolderItem
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(0, "Choose a file:", &H4000, "C:\")
If (objFolder Is Nothing) Then
PrintToOutputWindow "no file selected"
Else
Set objFolderItem = objFolder.Self
Selection = objFolderItem.Path
PrintToOutputWindow "Selected file: " & Selection
End If
Set objShell = Nothing
Set objFolder = Nothing
Set objFolderItem = Nothing
End Sub
More samples could be found by g**gle the WEB
Re: File Open Dialog
Posted: Fri 14. Oct 2016, 15:39
by MarkSPS
Hi Uwe,
Thanks for your reply and help. The examples work well.
Thanks