Excel VBA質問箱 IV

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

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


4212 / 13646 ツリー ←次へ | 前へ→

【57858】フォルダ内のテキストファイルの内容を一括整理 ど素人 08/9/17(水) 21:24 質問[未読]
【57859】Re:フォルダ内のテキストファイルの内容を... かみちゃん 08/9/17(水) 21:32 発言[未読]
【57860】Re:フォルダ内のテキストファイルの内容を... ど素人 08/9/17(水) 22:16 発言[未読]
【57862】Re:フォルダ内のテキストファイルの内容を... neptune 08/9/17(水) 22:31 発言[未読]
【57864】Re:フォルダ内のテキストファイルの内容を... ど素人 08/9/17(水) 22:54 お礼[未読]
【57863】Re:フォルダ内のテキストファイルの内容を... かみちゃん 08/9/17(水) 22:40 発言[未読]
【57865】Re:フォルダ内のテキストファイルの内容を... ど素人 08/9/17(水) 23:02 お礼[未読]
【57861】Re:フォルダ内のテキストファイルの内容を... neptune 08/9/17(水) 22:21 発言[未読]

【57858】フォルダ内のテキストファイルの内容を一...
質問  ど素人  - 08/9/17(水) 21:24 -

引用なし
パスワード
   ご覧頂ありがとうございます。

VBAを実行するエクセルファイルと同一フォルダ内に、Aというフォルダがあり、そのフォルダ内に、
エクセル.txt ワード.txt パワーポイント.txt ・・・・・とテキストファイルがあります。

この状態でエクセルファイルでボタンをクリックすると
『目次』と『フォルダの名前(ここならA)』のシートが作成され、

フォルダの名前のシートには、フォルダ内の各テキストファイルの内容が順にコピーされていき、
さらに、目次シートにはコピーされた各データ部分へのリンクがついたテキストファイル名一覧が形成される。

(ざっくり言えば、フォルダ内の全テキストファイルの内容をエクセルにコピーし、なおかつ、それぞれのコピー部分へのリンクをまとめたもの)

といった物を目指しているのですが、難解すぎて困っています。

ご助言頂ければ幸いです。

説明がわかりにくいときはまた追記いたします。

【57859】Re:フォルダ内のテキストファイルの内容...
発言  かみちゃん  - 08/9/17(水) 21:32 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>『目次』と『フォルダの名前(ここならA)』のシートが作成

まず、手作業でできますか?

>フォルダの名前のシートには、フォルダ内の各テキストファイルの内容が順にコピー

コピーという表現ずよくわかりませんが、
テキストファイルをシート上に読み込むということですか?
これも、手作業でできますか?

>目次シートにはコピーされた各データ部分へのリンクがついた

ハイパーリンクのことでしょうか?
これも手作業でできますか?

>難解すぎて困っています。

いきなりコードを書こうとすると、難しいでしょうね。
まずは、手作業でできるかどうかを試しましょう。
できるなら、その操作を「マクロの記録」で記録しましょう。
記録したコードをどのように応用したらいいのかわからないのであれば、
その記録したコードを提示してみましょう。

【57860】Re:フォルダ内のテキストファイルの内容...
発言  ど素人  - 08/9/17(水) 22:16 -

引用なし
パスワード
   かみちゃんさん、返答ありがとうございます。

全て手作業で可能です。
また、下記の点は両方ともおっしゃるとおりです。

>テキストファイルをシート上に読み込むということですか?
>ハイパーリンクのことでしょうか?


マクロの記録、行ってみました↓。
下記を見て、セルを選択してることやハイパーリンクを指定していることはわかるのすが、
テキストの名前をシート名に指定しすることや、テキストの内容をシートに読み込む点などが
わかりません。
また、フォルダ内のテキストの数なんかも都度変化していくと思うので、そういった点も
考えると、Vマクロではなく、BAでしっかり組んだ方が良いとは思うのですが、やはり
自分には早すぎたでしょうか?

もしよければ、また助言いただければ幸いです。


Sub Macro2()
'
' Macro2 Macro
' マクロ記録日 : 2008/9/17 ユーザー名 :
'

'
  Range("B3").Select
  ActiveSheet.Paste
  Range("B5").Select
  ActiveSheet.Paste
  Range("B7").Select
  ActiveSheet.Paste
  Sheets("Sheet2").Select
  Sheets("Sheet2").Name = "A"
  Range("C31").Select
  Sheets("Sheet1").Select
  Sheets("Sheet1").Name = "目次"
  Range("B3").Select
  ActiveSheet.Paste
  Range("B4").Select
  ActiveSheet.Paste
  Range("B5").Select
  ActiveSheet.Paste
  Range("B3").Select
  ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
    "A!A1", TextToDisplay:="excel.txt"
  Range("B4").Select
  Sheets("目次").Select
  Range("B3").Select
  ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
    "A!B3", TextToDisplay:="excel.txt"
  Range("B4").Select
  ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
    "A!B5", TextToDisplay:="powerpoint.txt"
  Range("B5").Select
  ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
    "A!B7", TextToDisplay:="word.txt"
End Sub

【57861】Re:フォルダ内のテキストファイルの内容...
発言  neptune  - 08/9/17(水) 22:21 -

引用なし
パスワード
   ▼ど素人 さん:
こんにちは

>ご助言頂ければ幸いです。
とあるので、助言のみ。

ここまで自分のやりたい事。(仕様ですね。)
が判っているなら、
例えば、
1.コピーしたい全てのファイル名のパスの取得。
2.『目次』と『フォルダの名前(ここならA)』のシートが作成
3.フォルダの名前のシートには、フォルダ内の各テキストファイルの内容が順にコピーされて
4.目次シートにはコピーされた各データ部分へのリンクがついたテキストファイル名一覧が形成される。
の1〜4を大まかな流れとして、更に、それぞれの各作業に付いて
細分化しましょう。

自分が実際にやることがわからないのにコードが書けるわけがありません。

冷たいようですが、これは非常に大事な事です。
・・・・と言う私もVBAでは無いですが、自分用のツールで、ざっくり仕様は
決めたのでその実現方法でHelpを見ながらどんな機能があるかから悩んでます。^ ^;;
これが出来なければ始まらないのはやはり同じです。

>説明がわかりにくいときはまた追記いたします。
自分で整理してみましょう。

大げさですが、この程度のプログラミングなら整理できたら半分以上?
出来たようなもんです。
それに、質問が丸投げではなく具体的なプログラミングの話になるので
皆さんからのアドバイスも受けやすくなります

【57862】Re:フォルダ内のテキストファイルの内容...
発言  neptune  - 08/9/17(水) 22:31 -

引用なし
パスワード
   ▼ど素人 さん:
続けてごめんなさい。
すれ違ってしまいましたね。

又助言だけですが、もしものすごく急ぐものでないなら
本を1冊購入して、少しだけでも勉強してから作成する事をお勧めします。

>考えると、Vマクロではなく、BAでしっかり組んだ方が良いとは思うのですが、やはり
>自分には早すぎたでしょうか?
・・・なんとも言えませんが、「Vマクロではなく、BA」ってのはちょっときつい
ですね。
マクロってのはVBAで書いたプログラムと同じものだと思ってください。
定型作業をVBAで自動化したものをマクロと言うのかな?
プログラムも同じですが。

ちなみにVBAってのはvisual basic for applicationの略で
開発言語visual basicのサブセットです。

【57863】Re:フォルダ内のテキストファイルの内容...
発言  かみちゃん  - 08/9/17(水) 22:40 -

引用なし
パスワード
   こんにちは。かみちゃん です。

> フォルダ内のテキストの数なんかも都度変化していくと思う

Dir関数のヘルプの使用例を見たり、
「Dir関数△ファイル一覧」(△は半角スペース)で過去ログやWeb検索をすると、
ファイル一覧の取得の仕方は、いろいろと出ています。

>マクロではなく、VBAでしっかり組んだ方が良いとは思うのですが、やはり
>自分には早すぎたでしょうか?

厳密には違うかもしれませんが、マクロは、VBAの一種です。
少々厳しい言い方ですが、マクロがわからないのに、VBAがわかるはずがないと
個人的には思います。

だから、「マクロの記録」で記録して、ヘルプの使用例を調べて、そこから、
過去ログやWeb検索して、知識を得て、VBAで組んでいくという応用になると
思います。

でも、「マクロの記録」で記録できたということは、決して、早すぎたとは思いません。
もうひとがんばりしてほしいと願っています。

ちなみに、提示されたコードには、テキストファイルを特定のシートに読み込む
(コピーする?)部分がありません。

> テキストの内容をシートに読み込む

もう一度聞きます。手作業でもできないのですか?
テキストファイルをExcelシートにコピーするというのは、手作業でどのように
するのか考えてみてください。
たぶんできているだと思いますが・・・

それであれば、それも「マクロの記録」で記録してみませんか?

【57864】Re:フォルダ内のテキストファイルの内容...
お礼  ど素人  - 08/9/17(水) 22:54 -

引用なし
パスワード
   neptune さん、ご回答ありがとうございます。

>もしものすごく急ぐものでないなら・・・・・・

そうなんですよね、VBAに触れるのがおそらく、今回こっきりという形でなおかつ、ちょい急ぎの状態ということで質問してしまいした。
が、、確かに甘えてましたね、ごもっともです。
助言いただいた点をもとに自力でがんばってみたいと思います、回答ありがとうございました。


>「Vマクロではなく、BA」ってのは

すいません、これは自分の打ち間違いで、本当は、
「マクロではなく、VBA」ってのは
です。紛らわしい間違い申し訳ありません。

【57865】Re:フォルダ内のテキストファイルの内容...
お礼  ど素人  - 08/9/17(水) 23:02 -

引用なし
パスワード
   かみちゃんさん、再度のご返事ありがとうございます。

ご助言いただいた点を参考に後は自力でがんばろうと思います。
せっかく色々と助言tいただいたのに自分勝手で申し訳ありません。

下記の点はちなみに、、、
テキストファイルをダブルクリックで開き、Ctrl+Aで全選択、Ctrl+Cでコピー、
そしてエクセルシート上でCtrl+Vとして、コピーしていました。
もしかして自分、ものすごい勘違いをしているのか、、、だったらお恥ずかしい。

>テキストファイルをExcelシートにコピーするというのは、手作業でどのように
>するのか考えてみてください。


回答ありがとうございました。

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