指定フォルダ内のテキストファイルを管理する
サンプルでは特定のフォルダ内にあるテキストファイルをFileSearch
オブジェクトを使用して検索、フルパスからファイル名を取得、Line
Inputステートメントで一行目の内容を取得、FileDateTime関数で最終
更新日を取得しています。


Sub GetTextInformation()

    Dim Msg As String, FolderName As String
    Dim Ret As String, Buff As String
    Dim FNum As Integer, i As Long

    Msg = "検索するフォルダのパスを指定してください"
    FolderName = Application.InputBox _
        (Msg, "テキスト情報取得", "C:\", Type:=2)
        
    'InputBoxがキャンセル、空白で返された場合のエラー処理
    If FolderName = "" Or FolderName = "False" Then _
        GoTo Exit_GetTextInformation
        
    '指定フォルダの存在確認
    Ret = Dir(FolderName, vbDirectory)
    If Ret = "" Then GoTo Exit_GetTextInformation
    
    'ファイル検索
    With Application.FileSearch
        .NewSearch
        .Filename = "*.txt"   '”ABC*.txt"なども可能
        .FileType = msoFileTypeAllFiles
        .LookIn = FolderName '指定フォルダ
        .SearchSubFolders = False
        .Execute '検索実行
        
        '検索結果が0の場合終了
        If .FoundFiles.Count = 0 Then GoTo Exit_GetTextInformation
        
        FNum = FreeFile 'ファイル番号確保
        
        For i = 1 To .FoundFiles.Count
            'テキストファイルから一行目を取得
            Open .FoundFiles(i) For Input As FNum
                Line Input #FNum, Buff
            Close FNum
            
            'テキストファイルの情報をセルに書き込み
            Cells(i, 1) = Dir(.FoundFiles(i), vbNormal) 'ファイル名取得
            Cells(i, 2) = FileDateTime(.FoundFiles(i)) 'ファイル更新日
            Cells(i, 3) = Buff 'テキスト一行目
        
        Next i
    
    End With
    
    Exit Sub
    
Exit_GetTextInformation:
    
    MsgBox "検索できませんでした"

End Sub

Excel97,2000



戻る


Excel Word Access VBA! モーグ