◎Vbs指令碼編程簡明教程之十二—使用系統對話方塊

來源:互聯網
上載者:User

在VBS指令碼設計中,如果能使用windows提供的系統對話方塊,可以簡化指令碼的使用難度,使指令碼人性化許多,很少有人使用,但VBS並非不能實現這樣的功能,方法當然還是利用COM對象。

1、SAFRCFileDlg.FileSave對象:屬性有:FileName — 指定預設檔案名稱;FileType —

指定副檔名;OpenFileSaveDlg — 顯示檔案儲存框體方法。

2、SAFRCFileDlg.FileOpen 對象:FileName — 預設檔案名稱屬性;OpenFileOpenDlg — 顯示開啟檔案框體方法。

3、UserAccounts.CommonDialog對象:Filter — 副檔名屬性("vbs File|*.vbs|All Files|*.*");

FilterIndex — 指定

InitialDir — 指定預設的檔案夾

FileName — 指定的檔案名稱

Flags — 對話方塊的類型

Showopen方法:

很簡單,ok,讓我們來舉兩個簡單的例子:

例一:儲存檔案

Set objDialog = CreateObject("SAFRCFileDlg.FileSave")

Set objFSO = CreateObject("Scripting.FileSystemObject")

objDialog.FileName = "test"

objDialog.FileType = ".txt"

intReturn = objDialog.OpenFileSaveDlg

If intReturn Then

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

Else

Wscript.Quit

End If

注意:1、SAFRCFileDlg.FileSave對象僅僅是提供了一個方便使用者選擇的介面,本身並沒有儲存檔案的功能,儲存檔案還需要使用FSO對象來完成。2、用FileType屬性來指定預設的檔案類型。3、在調用OpenFileSaveDlg方法時,最好把傳回值儲存到一變數中,用它可以判斷使用者按下的是確定還是取消。

例二:.開啟檔案

set objFile = CreateObject("SAFRCFileDlg.FileOpen")

intRet = objFile.OpenFileOpenDlg

if intret then

msgbox “檔案開啟成功!檔案名稱為:” & objFile.filename

else

wscript.quit

end if

例三:比較複雜的開啟檔案對話方塊

Set objDialog = CreateObject("UserAccounts.CommonDialog")

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

objDialog.InitialDir = "c:/"

tfile=objDialog.ShowOpen

if tfile then

strLoadFile = objDialog.FileName

msgbox strLoadFile

else

wscript.quit

end if

說明:在指令碼中加入 objDialog.Flags = &H020 看看會出現什麼結果。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.