gooIDシステムメンテナンスに関するお知らせ

VBAに関して初心者なのですが,excelにテキストファイルをアウトプットさせなければならず,そのファイル数が約10,000ほどあるので困っています。。。

【やりたいこと】
フォルダパス:例 D:\test\*.txt
上記のようなテキストファイルがtestフォルダの中に約10,000ファイルほどあります。
こちらのテキストファイルを順番はどうなっても構わないので,1つのブックに100ファイルずつ書き出していきたいです。(全部一緒でもいいかと思っていたがさすがにファイルが重くなりそうなので…)

要するに,結果として1ブックに100シート(それぞれのシート名はテキストファイル名と同じで良い)分のデータが書き出されており,そのようなブックが100ファイルできるイメージです。
そのブックの保存先はどこでも構いません。

これ以外に必要な情報等ございましたらなんでもお答えいたしますので,どなたかお力添え頂けると幸いです。。よろしくお願いいたします。

P.S.
これに関してはできたらで構わないのですが,テキストファイルの指定部分のみの書き出しというのは可能なのでしょうか…??具体的には,全ファイル頭の行から空行までの情報だけが欲しいです。祖納だの行数や情報はそれぞればらばらですが,空行までというのは統一されているのでもしかしたらできるのかなぁと思いご質問させて頂きました。極端に面倒くさいであったり難しいということであればスルーして頂いて構いませんので,こちらもご検討いただけると大変ありがたいです。。

質問者からの補足コメント

  • つらい・・・

    ”祖納”は誤字ですので無視してください。失礼いたしました。

      補足日時:2022/01/21 17:24
教えて!goo グレード

A 回答 (5件)

下記へアップしました。


https://ideone.com/0G7Zo0

使用上の注意:
このマクロは標準モジュールへ登録してください。
Const TextFolder As String = "D:\goo\data5" 'テキスト格納フォルダ
は、テキストファイルが格納されているフォルダです。

Const BookFolder As String = "D:\goo\data7" 'excel Book格納フォルダ
は、エクセルファイルを書き込むフォルダです。

あなたの環境にあわせて適切に設定してください。
    • good
    • 0

No4です。

追伸。
エクセルファイルを書き込むフォルダを
Const BookFolder As String = "○○"
とした場合、○○は、必ず実在するフォルダを指定してください。
提示したマクロは、○○を自動的に作成するようなことは、致しません。
○○が存在しない場合は、エラーになります。
    • good
    • 0

補足要求です。


1.各テキストファイル中に漢字がありますか。
ある場合、その文字コードはなんですか。(シフトJISですかUTF-8ですか)
2.1行のデータはどのようになっていて、その1行をexcelのセルにどのようにかくのうしたいのですか。
①1行を1つのセルに格納したい。
1行目全部をA1セルに格納
2行目全部をA2セルに格納
3行目全部をA3セルに格納
・・・以降同様
②1行の各項目を1つのセルに格納したい。
1行目の1番目の項目をA1セルに格納
1行目の2番目の項目をB1セルに格納
1行目の3番目の項目をC1セルに格納・・・以降N番目まで同様
2行目の1番目の項目をA2セルに格納
2行目の2番目の項目をB2セルに格納
2行目の3番目の項目をC2セルに格納・・・以降N番目まで同様
3行目以降も同様

3.項番2で②の場合、各項目の区切り文字はどうなっていますか。
①1桁のスペース
②カンマ(,)
③上記以外

4.念のためテキストファイルの1行分をサンプルとして
提示していただけませんでしょうか。

5.>祖納だの行数や情報はそれぞればらばらですが
祖納とはなんですか?
    • good
    • 0
この回答へのお礼

ご回答頂きましてありがとうございます。
ご質問頂いている部分の回答をいたします。

1.漢字はなく,数字と記号(-)のみになります。コードはUTF-8になります。

2.ご回答になっているか分かりませんが,1行のデータは文字のみのデータ(記号や漢数字)になっており,文章のようなものになります。格納方法に関しましては①になるかと思います。

3.割愛

4.4 : Start/Stop Count : 100 : 0 : : 100 : 1 315
上記が実際のファイルの1行になりまして,このような文字列が10行ほどある状態です。特殊なものとしては,*のみの行が存在します。

5.失礼いたしました。こちら誤字になりまして”祖納”は無視して頂いて構いません

お礼日時:2022/01/21 17:23

こんにちは



VBA処理自体はそれほど難しいものではありませんが
どのあたりまで出来ているのでしょうか?

#1様に重複しますが

>VBAに関して初心者なのですが
そこを考慮しても初心者のレベルも色々なので
自身で作成されたコードをご提示ください。
また、具体的に分からない所を書いてください。

粗、分からないと言う事であれば、関連する情報サイトです

Excel VBAでフォルダ内の全テキストファイルの任意データを取得する方法
https://daitaideit.com/vba-get-alltext/

新規ブックの作成と保存
https://bayashita.com/p/entry/show/215
    • good
    • 1
この回答へのお礼

ご回答いただきましてありがとうございます。
#1様から頂きました参考サイトとともにこちらも参考に,一度自身で作成してみたいと思います。

お礼日時:2022/01/21 17:23

こんにちは。



参考になりそうな記事を検索したものになります。
下記を参考に、できそうなところだけでも作成されて、不明な点を再度
質問されるのが良いかと思います。(作成依頼ではないので。)

テキストファイルの読み込み
http://officetanaka.net/excel/vba/file/file08b.htm
https://daitaideit.com/vba-read-output-text/

ファイル名の取得
http://officetanaka.net/excel/vba/file/file07.htm

指定フォルダ内のテキストファイルを読み込みシートへ書き出す
https://hinanaoblog.xyz/?p=482
    • good
    • 0
この回答へのお礼

ご回答頂きましてありがとうございます。
こちらを参考に作成に取り組んでみたいと思います。

お礼日時:2022/01/21 17:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング