您先把如下的代码复制,然后保存为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