vbs使用系统对话框(转)

上一篇 / 下一篇  2012-02-06 22:25:05 / 个人分类:VBScript

在VBS脚本设计中,如果能使用windows提供的系统对话框,可以简化脚本的使用难度,使脚本人性化许多,很少有人使用,但VBS并非不能实现这样的功能,方法当然还是利用COM对象。

5QV9vbXn.Yu0

1、SAFRCFileDlg.FileSave对象:属性有:FileName — 指定默认文件名;FileType — 指定文件扩展名;OpenFileSaveDlg — 显示文件保存框体方法。

o;k$T Q"i+J?6Fb0

2、SAFRCFileDlg.FileOpen 对象:FileName — 默认文件名属性;OpenFileOpenDlg — 显示打开文件框体方法。51Testing软件测试网V"g Cs~,F ?;U

3、UserAccounts.CommonDialog对象:Filter — 扩展名属性("vbs File|*.vbs|All Files|*.*");51Testing软件测试网?8t4? Ey)^(V;V&l6E

FilterIndex — 指定51Testing软件测试网wJqq1z;}[f

InitialDir — 指定默认的文件夹

euR Y2n h&Hk'm0

FileName — 指定的文件名

Md0B-q2~t0

Flags — 对话框的类型51Testing软件测试网Q|#~ MGU3\

Showopen方法:

Ah"S8],cK4nV0

很简单,ok,让我们来举两个简单的例子:

D$A MvY:k^/T0

例一:保存文件51Testing软件测试网HG+a W$E^4T

Set bjDialog = CreateObject("SAFRCFileDlg.FileSave")51Testing软件测试网qQ$cO/F.P}2M

Set bjFSO = CreateObject("Scripting.FileSystemObject")

*@*w.B'c%l"|7Jd0

objDialog.FileName = "test"

C M$UN8A0c0

objDialog.FileType = ".txt"51Testing软件测试网?![9UL)q,V7hf

intReturn = objDialog.OpenFileSaveDlg51Testing软件测试网%Ey7Rt1r!{/}q5^ |

If intReturn Then

H"t`pg"z0

objFSO.CreateTextFile(objDialog.FileName & objdialog.filetype)

a c&\Ihc#T0

Else51Testing软件测试网 E*x ah2e e u$Q

Wscript.Quit51Testing软件测试网z [j%v"N2Ss

End If51Testing软件测试网)pu2L L5m(G c+K

注意:1、SAFRCFileDlg.FileSave对象仅仅是提供了一个方便用户选择的界面,本身并没有保存文件的功能,保存文件还需要使用FSO对象来完成。2、用FileType属性来指定默认的文件类型。3、在调用OpenFileSaveDlg方法时,最好把返回值保存到一变量中,用它可以判断用户按下的是确定还是取消。

2y(m J|^!M([(M0

例二:.打开文件51Testing软件测试网P%?$Pq w D;U]

set bjFile = CreateObject("SAFRCFileDlg.FileOpen")51Testing软件测试网RgM%|2[D[(g}

intRet = objFile.OpenFileOpenDlg51Testing软件测试网"pE bsX*}

if intret then

0Y`&D5V.FerG;G0

msgbox “文件打开成功!文件名为:” & objFile.filename51Testing软件测试网&S*Cy-~]M![

else51Testing软件测试网[3gW"WfaP

wscript.quit51Testing软件测试网PC~jr7en.a

end if51Testing软件测试网fl"jW(_r ^

例三:比较复杂的打开文件对话框51Testing软件测试网EQ'm u6tM!Rx

Set bjDialog = CreateObject("UserAccounts.CommonDialog")51Testing软件测试网 aV a'Wl

objDialog.Filter = "vbs File|*.vbs"51Testing软件测试网@1O1c8P [6zb"\

objDialog.InitialDir = "c:\"51Testing软件测试网6~.m9Z*jn;HI

tfile=objDialog.ShowOpen51Testing软件测试网-y/k:ZGk!e(yo+m

if tfile then

-_^)@Z!t0

strLoadFile = objDialog.FileName

&U {B j#`5I,JB p7v`0

msgbox strLoadFile51Testing软件测试网,[l(r8k"C/[(?

else51Testing软件测试网Wh.i Y@+D*A g$?.@

wscript.quit51Testing软件测试网1W;T4k.X/Lp4eZ;n

end if51Testing软件测试网3] G$SGX3{,~oN

说明:在脚本中加入 objDialog.Flags = &H020 看看会出现什么结果。51Testing软件测试网`4[(X"Y#Dk


TAG:

 

评分:0

我来说两句

Open Toolbar