Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8563 / 13644 ツリー ←次へ | 前へ→

【32550】バッチ処理 とうち 05/12/17(土) 2:52 質問[未読]
【32551】Re:バッチ処理 Ned 05/12/17(土) 3:16 発言[未読]
【32555】Re:バッチ処理 とうち 05/12/17(土) 12:29 お礼[未読]

【32550】バッチ処理
質問  とうち  - 05/12/17(土) 2:52 -

引用なし
パスワード
   仕事で毎日繰り返す作業をバッチ化できないものかと試行錯誤中です。

具体的には...
フォルダにある数十のテキストファイル abc*.txt を「=」を区切り記号としてエクセルファイルに変換し、abc*.xls として保存する。

エクセルでの「開いて保存」は下記のマクロを記録することができましたが、ここから「フォルダの中身のすべてのファイルを作業の対象とし、各ファイル名を保ちながら txt-> xls とする」応用が思いつきません。

この一連の作業をスクリプト化して、指定のフォルダ下のすべての txt ファイルを一度に処理できればなお嬉しいです。

どなたかお知恵を貸していただけないでしょうか。よろしくお願いします。

Sub test()
' test Macro
'「=」を区切り文字としてテキストファイルを開き、
'ファイル名を変更して別ブックに保存
'
  ChDir "D:\Documents"
  Workbooks.OpenText Filename:= _
    "D:\Documents\test.txt", _
    Origin:=932, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
    xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _
    , Comma:=False, Space:=False, Other:=True, OtherChar:="=", FieldInfo _
    :=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
  ActiveWorkbook.SaveAs Filename:= _
    "D:\Document\test.xls", _
    FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
    ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

【32551】Re:バッチ処理
発言  Ned  - 05/12/17(土) 3:16 -

引用なし
パスワード
   ▼とうち さん:
こんにちは。
念のためテスト環境で、少ないファイル数で試してみてくださいネ^ ^

Sub test2()
' test Macro
'「=」を区切り文字としてテキストファイルを開き、
'ファイル名を変更して別ブックに保存
  Dim MyF As String
  Dim i As Long
  Const MyFol As String = "D:\Documents\"
  Application.ScreenUpdating = False
  MyF = Dir(MyFol & "*.txt")
  Do Until MyF = ""
    i = i + 1
    Workbooks.OpenText Filename:=MyFol & MyF _
      , DataType:=xlDelimited _
      , TextQualifier:=xlNone _
      , Other:=True _
      , OtherChar:="="
    With Workbooks(MyF)
      .SaveAs MyFol & Replace(MyF, ".txt", ".xls")
      .Close False
    End With
    MyF = Dir()
  Loop
  Application.ScreenUpdating = True
  MsgBox i & " 個のファイルを処理しました。"
End Sub

【32555】Re:バッチ処理
お礼  とうち  - 05/12/17(土) 12:29 -

引用なし
パスワード
   ▼Ned さん:
どうもありがとうございます。
さっそく試してみます!

8563 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free