您先把如下的代碼復制,然后保存為FileSave.vbs,雙擊打開,您看到了什么呢? 復制代碼 代碼如下: Set objDialog = CreateObject("SAFRCFileDlg.FileSave") Set fso = CreateObject("Scripting.FileSystemObject") objDialog.FileName = "test" objDialog.FileType = ".txt" intReturn = objDialog.OpenFileSaveDlg If intReturn Then fso.CreateTextFile(objDialog.FileName & objdialog.filetype) Else Wscript.Quit End if
Vbs在很多時候一直給用戶以不友好的文件打開或是保存方式,總是自己在后臺處理掉了一些FSO操作,而不能讓用戶自己進行一些設當的DIY。所以,為什么不用COM呢?COM組件在系統里是一直存在的,利用它,我們的用戶體驗將會提升很多。 上面的代碼是不能彈出一個保存test.txt文件的對話框呢?后綴名和文件名大家自己去修改,估計懂點vbs基礎知識的人都能修改筆者的這個小腳本,并將它鑲嵌到自己的腳本中去吧? 下面再看一個例子,這次是打開文件,獲得文件名。 復制代碼 代碼如下: set objFile = CreateObject("SAFRCFileDlg.FileOpen") bRet = objFile.OpenFileOpenDlg if bRet then Wscript.Echo "文件打開成功!文件名為:" & objFile.filename else wscript.quit End if
運行這個腳本(FileOpen.vbs),將會彈出一個讓用戶自己選擇文件的對話框窗口,非常友好地讓用戶自己選擇文件。bRet是執行的返回值,不為0則成功,objFile的FileName可以返回選擇的文件名。 一個名稱,一個調用方法,僅此而已。 如果您覺得這個不夠帥,您想用類似于MFC中完全自己DIY的CFileDialog,您該怎么辦呢?也很簡單,UserAccounts對象為我們提供了CommonDialog,這個更加高級的打開通用對話框。 復制代碼 代碼如下: Set objDialog = CreateObject("UserAccounts.CommonDialog") objDialog.Filter = "vbs File|*.vbs" objDialog.InitialDir = "E:" bRet=objDialog.ShowOpen if bRet then strLoadFile = objDialog.FileName Wscript.Echo strLoadFile else Wscript.quit End if