当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > Vbs COM之打开/保存文件脚本代码

VBScript
用vbs脚本来关闭 HTML 页面的代码
用vbs实现确定是否安装了某个特定的补丁
用vbs确定用户的登录名的代码
用vbs找到映射到共享的所有驱动器并重新映射它们
可以从一台远程服务器运行 SP2 安装程序Install.vbs
用vbs判断一个日期是否在指定的时段内
vbs+hta中实现在单个 onClick 参数中包括多个子例程的代码
vbs中实现启动两个应用程序,一直等到其中一个程序结束,然后关闭另一个?
用vbs实现对文本文件中的项计数
用vbs对文本文件的内容进行排序
用vbscript把 Word 文档保存为文本文件的代码
用vbs返回 Internet Explorer 的下载控件和 Applet 的列表
用vbscript合并多个文本文件的代码
用vbscript防止本地用户更改其密码
用vbs针对一个 IP 地址范围运行脚本
用vbs 实现从剪贴板中抓取一个 URL 然后在浏览器中打开该 Web 站点
使用vbscript脚本在表单中进行选择的代码
一个把任何文件转成批处理的vbs脚本Any2Bat.vbs
windows脚本调试howto的方法
注册表的禁用与解锁方法集合

VBScript 中的 Vbs COM之打开/保存文件脚本代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 395 ::
收藏到网摘: n/a

COM组件在系统里是一直存在的,利用它,我们的用户体验将会提升很多。 您先把如下的代码复制,然后保存为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

将其保存为FileOpenAdvance.vbs吧,双击打开,它连过滤的文件类型都为您留好了接口。
默认文件名,后缀过滤器,后缀索引,标志,初始化未知,拥有者,一个调用方法。