質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

312閲覧

指定された行数を1セットとしてテキストファイルを読み込みたい

pro-poke5

総合スコア46

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2018/08/09 07:53

編集2018/08/09 08:14

こんにちわ

Excelのマクロ(VBA)をかいています。

法則性のあるたくさんある行数のテキストファイルを読み込んで、必要な部分を抽出しCSVに出力するものをかきたいです。

テキストファイルには

ああああああああ  1111 22222 うううう
013156  258258
00000
終わり
ええええええええ  0000 25982 おおおお
013156  258258
01111
終わり
うううううううう  8888 29678 けけけけ
013156  258258
03333
終わり

中身の文字は変わりますが、ある程度似たような
4行1セットテキストファイルがあります。

これを4行ごと必要な部分を抽出してCSVに1行に出力します。
1行ずつ読み込んで4行ごとループさせて取得できる方法はないでしょうか。

Line Inputをつかって、

VBA

1 2Line Input #1,buf 3Line Input #1,buf2 4Line Input #1,buf3 5Line Input #1,buf4

このように変数をかえてループさせればいいのでしょうか。
アドバイス、
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

このように変数をかえてループさせればいいのでしょうか。

それでよいと思います。
前回の私の回答に合わせるのであれば、a(0)~a(3)に入れればよいです。
(変数名は適当なので、ちゃんとしたのにしてください)

流れ的には、こんな感じにすればいいと思います。

VBA

1ファイルオープン 2EOFまでループ 3 1行目読み込み 4 2行目読み込み 5 3行目読み込み 6 4行目読み込み 7 情報取得(前回質問の処理) 8 情報出力 9ループ終わり 10ファイルクローズ

もしくは読み込みのところはループにしてもいいですね。

VBA

1For i = 0 To 3 2 a(i) = 1行読み込み 3Next

いずれにしても必ず4行1セットである必要があるので、行数が可変である可能性も考慮するなら別途対応が必要です。

投稿2018/08/09 08:20

ttyp03

総合スコア16996

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問