トップ 履歴 一覧 カテゴリ ソース 検索 ヘルプ RSS ログイン

ScrapCode/VBS/File

INDEX

VBScriptでのファイル操作

ファイル選択ダイアログの表示

 UserAccounts.CommonDialog (WinXPのみ)

ファイルを選択するためのダイアログボックスを表示する。WinXP以降(Win2000不可, Vistも不可らしい)。複数のファイルの選択は不可能。

1
2
3
4
5
6
7
8
9
10
11
12
13
Set objDialog = WScript.CreateObject("UserAccounts.CommonDialog")

objDialog.Filter = "Text Files|*.txt|All Files|*.*" ' フィルタの設定
objDialog.FilterIndex = 1 ' 初期表示のフィルタ番号
objDialog.InitialDir = "C:\" ' 初期表示のフォルダの指定
intResult = objDialog.ShowOpen ' ダイアログ表示
If intResult = 0 Then
    ' キャンセルを押下(intResult = 0)の場合
    Wscript.Quit
Else
    ' 開くを押下(intResult = -1)の場合
    Wscript.Echo objDialog.FileName ' 選択したファイルのパスを表示
End If

ファイルの読み書き

 FSOでテキストファイル読み込み

1
2
3
4
5
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.OpenTextFile strFileName
strText = objFile.ReadAll
Set objFile = Nothing
Set objFso = Nothing

 FSOでテキストファイル書き込み

1
2
3
4
5
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFile = objFso.OpenTextFile strFileName, False
objFile.Write strText
Set objFile = Nothing
Set objFso = Nothing

 ADODB.Streamでファイル読み込み

1
2
3
4
5
6
7
8
9
10
11
12
'' StreamTypeEnum Values
Const adTypeBinary = 1 ' バイナリ データ
Const adTypeText   = 2 ' テキスト データ

Set stream = CreateObject("ADODB.Stream")
stream.Type = adTypeText
stream.charset = "iso-8859-1"
stream.Open
stream.LoadFromFile strFileName
strText = stream.ReadText
stream.Close
Set stream = Nothing

 ADODB.Streamでファイル書き込み

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
'' StreamTypeEnum Values
Const adTypeBinary = 1 ' バイナリ データ
Const adTypeText   = 2 ' テキスト データ
'' SaveOptionsEnum Values
Const adSaveCreateNotExist  = 1 ' ファイルがないとき作成する
Const adSaveCreateOverWrite = 2 ' ファイルがあるとき上書きする

Set stream = CreateObject("ADODB.Stream")
stream.Type = adTypeText
stream.charset = "iso-8859-1"
stream.Open
stream.writeText strText
stream.saveToFile strFileName, adSaveCreateOverWrite
stream.Close
Set stream = Nothing

最終更新時間:2009年03月17日 10時32分08秒 指摘や意見などあればSandBoxのBBSへ。