こんにちは。
エクセルにて連番のテキストファイルを読込/処理し、それぞれの結果を新規作成したフォルダに保存するようにしたいのですが、コードを教えていただけますでしょうか?
イメージは以下のような感じです。
・元データ
フォルダ名 :A
格納テキストファイル:file_000.txt ~file_500.txt
ファイルの中身:1列 20行の文字データ
・処理したい内容
1.元データのあるフォルダAと新規作成フォルダBをセルで指定
2.フォルダA直下にフォルダBを作成
3.エクセルへfile_00.txtのデータを読込、特定セルへ貼り付け
4.20行のデータを上から順に結合 ※結果は特定セル(例:A1セル)に格納
5.5のセルの値をフォルダB(ファイル名は読込ファイルと同一)へ格納
6.4の変換処理をテキストデータ分繰返し
やりたいことはわかるのですが、上手くコードにすることができず、ご助力頂けると助かります。
No.1ベストアンサー
- 回答日時:
こんにちは
>やりたいことはわかるのですが、上手くコードにすることができず
ご本人はなさりたいことがわかっているのでしょうけれど、説明が抽象的なのでコードにしようがありません。
以下は、『指定フォルダA内のテキストファイルの20行目迄を1行にまとめ、指定フォルダA内の指定フォルダBに作成する』という基本的なコードです。
不明点ばかりなので、適当に固定指定と決め打ちの処理にしてあります。
Sub Q12866922()
Dim fs, file, ts
Dim str As String
Dim FA As String, FB As String
Const フォルダA = "C:\Users\hogehoge\フォルダA"
Const フォルダB = "フォルダB"
Set fs = CreateObject("Scripting.FileSystemObject")
FA = フォルダA
FB = FA & "\" & フォルダB
If Not fs.FolderExists(FA) Then
MsgBox "指定フォルダが見つかりません"
Exit Sub
End If
If Not fs.FolderExists(FB) Then fs.CreateFolder FB
For Each file In fs.GetFolder(FA).files
If LCase(fs.GetExtensionName(file)) = "txt" Then
str = ""
Set ts = fs.OpenTextFile(FA & "\" & file.Name, 1)
Do While Not ts.AtEndOfLine And ts.Line < 21
str = str & ts.ReadLine
Loop
ts.Close
Set ts = fs.CreateTextFile(FB & "\" & file.Name, 1)
ts.WriteLine (str)
ts.Close
End If
Next file
End Sub
※ まずはそのままで処理を確認できたなら、なさりたいように修正してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/16 14:36
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Excel(エクセル) ExcelVBA メモ帳を起動し名前を付けて指定フォルダに保存 2 2022/04/18 13:15
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同一セルに日時があるものを日...
-
1年分のデータから特定の月分...
-
Excelで指定した条件と一致する...
-
COUNTIFの反対の関数はあるので...
-
EXCELでCSVファイル保存すると...
-
EXCELで年月日の表記から日付部...
-
1つのセルにまとまっている情報...
-
excel 数値の桁数によって切捨...
-
エクセル数式・等間隔ごとの範...
-
Excelで、表紙に、住所を自動で...
-
webクエリのurlの変更方法
-
複数のシートの日付データを、...
-
エクセルで数字、文字列混在の...
-
エクセル 掛け算 =PRODUCT
-
excelで平均差を出したい
-
エクセルでの指定文字 カウン...
-
エクセルVBAで、複数セルのデー...
-
色なしセルの合計値の出し方に...
-
【エクセル】一覧から指定デー...
-
【EXCEL】vlookup関数で横の行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同一セルに日時があるものを日...
-
1年分のデータから特定の月分...
-
EXCELでCSVファイル保存すると...
-
Excelで指定した条件と一致する...
-
COUNTIFの反対の関数はあるので...
-
ドロップダウンリストで空白の...
-
1つのセルにまとまっている情報...
-
エクセルVBAで、複数セルのデー...
-
エクセルで数字、文字列混在の...
-
エクセルでセルを一括で右詰に...
-
OFFSET関数を使用した印刷範囲...
-
EXCELで年月日の表記から日付部...
-
EXCELで足し算できるのにSUM...
-
【VBA】指定フォルダに格納中の...
-
Excelで連続データを行飛ばしで...
-
複数のシートの日付データを、...
-
excelで平均差を出したい
-
webクエリのurlの変更方法
-
Excel 空白セルの掛け算で答え...
-
エクセルで特定の行を除いて計...
おすすめ情報
テキストファイルの中身(1列20行)はこんなイメージです。
あい
じく
あお
・
・
そら
このようなデータが20行あります。
エクセルで処理後のセル:あいじくあお・・・そら