質問です


c:\era-do\
c:\era-ez\
c:\era-sf\
の中にあるcsvファイルを削除する


c:\test-do\
c:\test-ez\
c:\test-sf\
の中にある複数のtxtファイルを

c:\test\
のホルダーに新規に
test_back
の名前のホルダーを作成してすべてその中にコピーする


c:\test-do\
c:\test-ez\
c:\test-sf\
の中にある複数のcsvファイルtxtファイルを削除する

以上の作業を実行できるマクロをお願いします

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/01/17 19:48:29
  • 終了:2013/01/18 10:27:44

ベストアンサー

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982013/01/17 20:27:06

ポイント100pt
Sub main()
    Dim objFileSys

    Set objFileSys = CreateObject("Scripting.FileSystemObject")
    
    Call delsub("c:\era-do\", "csv")
    Call delsub("c:\era-ez\", "csv")
    Call delsub("c:\era-sf\", "csv")

    c = "c:\test\test_back"
    buf = Dir(c, vbDirectory)
    If buf = "" Then
        objFileSys.CreateFolder c
    End If

    d = "c:\test-do\*.txt"
    buf = Dir(d)
    If buf <> "" Then
        objFileSys.MoveFile d, c
    End If
    
    d = "c:\test-ez\*.txt"
    buf = Dir(d)
    If buf <> "" Then
        objFileSys.MoveFile d, c
    End If
    
    d = "c:\test-sf\*.txt"
    buf = Dir(d)
    If buf <> "" Then
        objFileSys.MoveFile d, c
    End If
    
    Call delsub("c:\test-do\", "csv")
    Call delsub("c:\test-ez\", "csv")
    Call delsub("c:\test-sf\", "csv")
    

End Sub


Sub delsub(a As String, b As String)
    Dim objFileSys
    Dim buf As String
    Set objFileSys = CreateObject("Scripting.FileSystemObject")
    
    buf = Dir(a & "*." & b)
    If buf <> "" Then
        objFileSys.DeleteFile a & "*." & b, True
    End If
    Set objFileSys = Nothing
End Sub
id:inosisi4141

ありがとうございました
うまくいきました
今後ともよろしくおねがいします

2013/01/18 10:27:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません