Vbs COMのオープン/保存ファイルスクリプトコード

1803 ワード

まず次のコードをコピーして、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は、多くの場合、ユーザーに不友好なファイルで開かれたり、保存されたりしています。いつも自分でバックグラウンドでいくつかのFPO操作を処理しました。なぜ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を使いたいですが、どうすればいいですか?簡単です。UserAcceountsオブジェクトはCommon Dialogを提供してくれます。これはより高級な共通ダイアログを開きます。

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
これをFileOpenAdvanc.vbsとして保存してください。ダブルクリックして開けます。フィルタリングされたファイルの種類までインタフェースを残しておきます。
デフォルトのファイル名、拡張フィルタ、拡張インデックス、フラグ、初期化未知、所有者、呼び出し方法。