
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こういう手作業では面倒なものはVBAでやるほか仕方がない。
そういうことを認識した上で、今までVBAを少しやった人ならWEB記事を調べて、コードを作れるでしょう。 今までやったこともないなら丸投げの、回答コピペになるが、その後の「質問者に合わせた、対処(修正)が出来ず無理だろう。
VBAでは無いがFSOを使うほうが良いでしょう。Dir関数を使うというのも在るが
(1)フォルダ内のファイル名を順次掴む。
テキストファイル以外があるなら、拡張子で篩(ふるい)に掛ける。
(2)そのファイル名でそのテキストファイルを開き、レコードを終わりまで1つずつ、読む
エクセルでは列に当たる項目に分離して、その行にデータをセット刷る
次のレコードを読む
(3)終わると、次のファイルを掴んで同じ処理をする。
そのフォルダで尽きた場合は、次のフォルダに行く
ーー
フォルダの数はきまっているのか。すなわち名前は(列挙的で)決っているのか?>とこのような感じで、とぼかされると判らない。
親フォルダの下にあるフォルダの中の(テキストファイル)ファイルをすべて対象にするのか。
これらのループ関連を図示して整理し、コードに取り掛かれば、勉強するコードのタイプとしては2,3類型だ。
外から
(1)親フォルダのループ
(2)フォルダのファイルを掴むループ
(3)ファイルのレコードを読み処理するループ
(4)シートの各列にデータをセットするループ
などがネストすることになろう。
データ実物が無いのでコードを作成してテストできない。本来質問者がこつこつやるべきことだ。
ーー
http://itpro.nikkeibp.co.jp/article/COLUMN/20060 …
に類したものが沢山在る
Googleで「FSO フォルダ内ファイルを掴む」「FSO フォルダ ファイル」などで照会。
ーー
テキストファイルを読む
http://www.ken3.org/vba/backno/vba029.html など
テキストファイルもCSV始め色々あるのに質問に書いてない。認識が甘い。そういうことだと、回答者もコードはかけない。
回答ありがとうございます。
いろいろ教えて頂きありがとうございます。
ちょっと自分には、敷居が高く理解できません。
今回のケースで具体的なVBAを教えて頂けないでしょうか?
よろしくお願いします。
No.1
- 回答日時:
マクロを作ってみました。
Sub Sample()
Dim buf As String
Dim buf2 As String
Dim cnt As Long
Dim lp As Long
Dim lr As Long
Dim f(4) As String
Dim Path As String
Dim st(4) As String
f(1) = "C:\フォルダ1\" 'フォルダ1は、実際のフォルダ名に修正する
f(2) = "C:\フォルダ2\"
f(3) = "C:\フォルダ3\"
f(4) = "C:\フォルダ4\"
st(1) = "Sheet1" 'Sheet1にフォルダ1の内容を貼り付ける
st(2) = "Sheet2"
st(3) = "Sheet3"
st(4) = "Sheet4"
For lp = 1 To 2
lr = 1
cnt = 0
Path = f(lp)
buf = Dir(Path & "*.txt")
Do While buf <> ""
cnt = cnt + 1
Worksheets(st(lp)).Cells(lr, 1) = f(lp)
Worksheets(st(lp)).Cells(lr, 2) = buf
Open Path & buf For Input As #1
Do Until EOF(1)
Line Input #1, buf2
Worksheets(st(lp)).Cells(lr, 3) = buf2
lr = lr + 1
Loop
Close #1
buf = Dir()
Loop
Next lp
End Sub
回答ありがとうございました。
今、試してみたのですが、私の思っているのとは違うようです。
各カテゴリをシート別に分けるのではなく、あくまでも、シート1のA列にカテゴリをB列にはテキストファイルの名前を、そして、C列にはテキストファイルの中身を入れたいです。
また、テキストファイルには改行が入っています。
1つのセルに改行を含めた文章を入れたいです。
また、フォルダの数も多いので、いちいちマクロに書くのが面倒です。
せっかく作って頂いたのですが、申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 最新のフォルダ取得
-
同一フォルダ内の別ブックから...
-
HTMLで保存先を指定する方法に...
-
【マクロ】フォルダにファイル...
-
Access VBA で フォルダ権限...
-
バッチファイルに詳しい方、お...
-
フォルダを開いて、閉じるのプ...
-
フォルダにリンクを貼りたい
-
CVSからチェックアウトしてきた...
-
Excel VBA フォルダ存在チェッ...
-
エクセルのプロパティーでセキ...
-
エクセルvbaでdocuworksprinter...
-
[virtualbox] Windows XP のVHD...
-
アクセス クエリを別のファイ...
-
VBAを使ってセル内に記述してあ...
-
アクセス 自身のデータベース...
-
ffftpでファイル取得が0バイト...
-
読み取り専用でファイルを開きたい
-
エクセルのマクロについて教え...
-
shスクリプトでftp接続してファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
ファイル名と同名のフォルダを...
-
VBA フォルダ名に特定の文字を...
-
ExcelのVBAでフォルダ指定がで...
-
デスクトップの画像をhtmlに表...
-
VBA 最新のフォルダ取得
-
VBA フォルダの複数選択ができない
-
Excelのハイパーリンクについて...
-
パス名に2バイト文字(マルチバ...
-
【コマンドプロンプト】名前順...
-
【ExcelVBA】一覧表の記載に従...
-
サーバ内のフォルダ名と各フォ...
-
Wallpaper Engineでおすすめの...
-
ファイルとフォルダのどちらも...
-
Debug フォルダは消していいの?
-
Excelで指定したフォルダに保存...
-
VBプロジェクトでのフォルダ構...
-
GetAttrが原因?
-
Hitachi Embedded Workshop (HE...
おすすめ情報