vbs使用系统对话框(转)

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

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

o_Qg1d;W0

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

n[k$X6D2V&x0

2、SAFRCFileDlg.FileOpen 对象:FileName — 默认文件名属性;OpenFileOpenDlg — 显示打开文件框体方法。51Testing软件测试网o;Yd-g$}`

3、UserAccounts.CommonDialog对象:Filter — 扩展名属性("vbs File|*.vbs|All Files|*.*");

W'?_c c[C2u!l0

FilterIndex — 指定51Testing软件测试网7d&q!t:rN p o X$I5U

InitialDir — 指定默认的文件夹51Testing软件测试网:X2L2fe~E#r*U){]

FileName — 指定的文件名51Testing软件测试网mbREQ

Flags — 对话框的类型51Testing软件测试网fl*Pg(umH u)a

Showopen方法:51Testing软件测试网4|gt w{v4w6F:`9c

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

)N JCvA2[0

例一:保存文件51Testing软件测试网1]-M gm t/O.t

Set bjDialog = CreateObject("SAFRCFileDlg.FileSave")51Testing软件测试网P#mb/h:ayoLds

Set bjFSO = CreateObject("Scripting.FileSystemObject")51Testing软件测试网!Y5]1yxt

objDialog.FileName = "test"51Testing软件测试网GL&@4?M

objDialog.FileType = ".txt"51Testing软件测试网a*A+hk&|%Bp8D

intReturn = objDialog.OpenFileSaveDlg51Testing软件测试网 V+L5J8x;i [1a.E.Z

If intReturn Then

2L#V{,OY m;j4L0

objFSO.CreateTextFile(objDialog.FileName & objdialog.filetype)51Testing软件测试网1iJ~0z\ n dd4G

Else

og6a}C^&c(Z0

Wscript.Quit51Testing软件测试网2Dp S]9l-\tE'F`

End If51Testing软件测试网NS4S#zp)m

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

YmD}S"r4J#P0

例二:.打开文件51Testing软件测试网fT8C7e(A${Q(Y_

set bjFile = CreateObject("SAFRCFileDlg.FileOpen")

3d!x*Efb l0

intRet = objFile.OpenFileOpenDlg51Testing软件测试网#mg P$D3kz+S

if intret then51Testing软件测试网o[5g4h G

msgbox “文件打开成功!文件名为:” & objFile.filename

5Jn,h SV(F0

else

5Iu)fFx/}!^0

wscript.quit51Testing软件测试网`F)y#Pi[#TK

end if

5kW R'w,|J0

例三:比较复杂的打开文件对话框

n4pUqW le6q_0

Set bjDialog = CreateObject("UserAccounts.CommonDialog")51Testing软件测试网|-S9i.L i$UY

objDialog.Filter = "vbs File|*.vbs"

CjYYDV S[ l0

objDialog.InitialDir = "c:\"

cC6|&yL$y:g}y0

tfile=objDialog.ShowOpen

4} Qd$C L`0

if tfile then51Testing软件测试网:x8hW+j'Js

strLoadFile = objDialog.FileName

m8PiA*x5d)t)iN0

msgbox strLoadFile51Testing软件测试网0PkzVEz @7JQG

else51Testing软件测试网Qi5B:^~5K

wscript.quit

2|4~0jd |6J0

end if

,| V$}$`R I\-RD8N`2L0

说明:在脚本中加入 objDialog.Flags = &H020 看看会出现什么结果。51Testing软件测试网-R,G%k-R1L4o)sp y9nF


TAG:

 

评分:0

我来说两句

Open Toolbar