|
要するに、任意のフォルダーのファイル一覧テキストを作れば良いのですね ?
↓こんな感じで、どうでしょーか ? DOSの DIRコマンド を使うので高速です。
Sub FileCheck_Text()
Dim Bff As Object
Dim GetF As String, MyTxt As String, Ck As String
Const MyCom As String = "COMMAND.COM /C DIR "
Const MkTxt As String = "C:\FCheck.txt"
Set Bff = CreateObject("Shell.Application"). _
BrowseForFolder(0, "フォルダを選択してください", 0)
If Bff Is Nothing Then Exit Sub
GetF = Bff.Items().Item().Path
GetF = CreateObject("Scripting.FileSystemObject") _
.GetFolder(GetF).ShortPath
Set Bff = Nothing
If Dir(MkTxt) = "" Then
Ck = "> "
Else
Ck = ">> "
End If
Shell MyCom & GetF & " /A /S /B" & Ck & MkTxt, 6
If Dir(MkTxt) = "" Then
MsgBox "テキストが作成されていません", 48
Else
If Ck = "> " Then
MsgBox "ファイル一覧を作成しました", 64
Else
MsgBox "ファイル一覧を追加しました", 64
End If
End If
End Sub
このコードは、当方のOS(Win98)用のものです。WinNT系だと
Const MyCom As String = "CMD.EXE /C DIR "
に変更すればいいはずです。
"C:\FCheck.txt" というファイルは、予め用意しておかなくても、最初の実行で
作成されます。2回目以降は、それに追加していくようになります。
メッセージの内容が "作成"→"追加" と変わるので、確認できるでしょう。
|
|