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

所属分类: 脚本专栏 / vbs 阅读数: 634
收藏 0 赞 0 分享
您先把如下的代码复制,然后保存为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吧,双击打开,它连过滤的文件类型都为您留好了接口。
默认文件名,后缀过滤器,后缀索引,标志,初始化未知,拥有者,一个调用方法。
更多精彩内容其他人还在看

可自删除 开启3389创建用户粘滞键后门的vbs

on error resume next const HKEY_LOCAL_MACHINE = &H80000002 strComputer = "." Set StdOut = WScript.StdOut Set oReg=GetObject("winmgmts:{i... 查看详情
收藏 0 赞 0 分享

CMD和vbs修改 IP地址及DNS的实现代码

修改IP cmd /c netsh interface ip set address name=" 本地连接" source=static addr=211.82.56.253 mask=255.255.255.0 gateway=211.82.56.1 gwmetric=1 修... 查看详情
收藏 0 赞 0 分享

vbScript on error resume next容错使用心得

vbscript中,错误处理使用on error resume next来完成,如果在你的代码里加入这一句,在这句之后的其他代码如果出现错误,系统将忽略这些错误继续运行后面的代码,同时,我们可以使用下面的代码来捕获错误复制代码 代码如下:If err.number<>... 查看详情
收藏 0 赞 0 分享

用vbs实现判断计算机是笔记本还是台式机的代码

ChassisTypes 属性可以告诉您,您使用的是笔记本电脑、台式计算机还是其他类型的计算机。哦,输入。以下脚本可以让您知道您使用的是哪种类型的计算机: 复制代码 代码如下:strComputer = "."  Set objW... 查看详情
收藏 0 赞 0 分享

用vbs清空iis log 中自己登录ip的记录

Option Explicit  Dim sourcefile,ipaddress,objargs const destfile="tempfile" Const ForWriting = 2 Dim ... 查看详情
收藏 0 赞 0 分享

vbs sendmail发邮件带附件方法

NameSpace = "http://schemas.microsoft.com/cdo/configuration/" Set Email = CreateObject("CDO.Message") Email.From&nb... 查看详情
收藏 0 赞 0 分享

用vbs实现虚拟主机和域名查循的脚本

If WScript.Arguments.Count <> 1 Then WScript.Echo "Example: CScript " & WScript.Scrip... 查看详情
收藏 0 赞 0 分享

用vbs通过135端口执行命令的脚本

wmiexec.vbs(通过135端口执行命令)复制代码 代码如下:set ww=createobject("wbemscripting.swbemlocator")  set cc=ww.connectserver("172.20.241.218"... 查看详情
收藏 0 赞 0 分享

用vbs实现的瞬间关闭多个系统进程的脚本

程序试验环境为 windows xp_sp2,主要针对系统存在多个需要中断进程的情况下,瞬间成批中断进程。 复制代码 代码如下:'-----------------------------------------------------------------... 查看详情
收藏 0 赞 0 分享

vbs 中调用shell.application 简单函数

Set os=CreateObject("wscript.shell") Set os0=CreateObject("shell.application") Do  input1=InputBox(" 请选择:"+chr(13)+chr(1... 查看详情
收藏 0 赞 0 分享
查看更多