
添付画像のような構成のフォルダがあります。
Testというのが親フォルダです。
各フォルダにはそれぞれテキストファイルを持っており、各フォルダの名称が記入されています。
エクセルVBAにてこの親フォルダを読み込み、ツリー構造をxls形式にて書きだすようなツールを作ろうと考えておりますが、可能でしょうか?
エクセルにて欲しい出力は下記のような形です。
A B C
1 A1名称 B1名称 C1名称 ※名称はフォルダ内テキストファイルから読み込む
2 A1名称 B1名称 C2名称
3 A1名称 B2名称 C1名称
・
・
条件
■ツリーの深さはC階層までしか存在しませんが、ABC共に数は一定しません。
■各フォルダ内テキストファイルの中の一定の箇所に名称が記述されていますので、それを抜き出して表示に使用したいです(先頭から24Byte 固定長24Byte)
VBAの勉強をしてみまして、指定したテキストファイルからのテキストの抜き出しはできたのですが、その先でつまずきました。
このツールがVBAにて作成できるのか、またできない場合、何を使って作成したらよいかご教示下さい。
よろしくお願い致します。

A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
リンク先の様な事でしょうか。
http://oshiete.goo.ne.jp/qa/5717655.html
必要なら縦線も入る様にしたコード
(元のコードを読解する才覚が無いので自分なりに焼き直したもの)
もあります。
No.2
- 回答日時:
指定したテキストファイルからのテキストの抜き出しはできたということなので
フォルダ名の取得部分が残っているんですよね
であれば、以下のサイトにフォルダ名の取得部分がわかりやすく書いてありますので
参考にしてみてはいかがでしょうか
[☆ Excelでお仕事!]-[VBA応用(フォルダ内のファイル一覧の取得)]
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …
※上記がリンク切れだった場合
[☆ Excelでお仕事!]-[トップページ]
http://www.asahi-net.or.jp/~ef2o-inue/top01.html
回答が遅くなりましてすみません。
上記サイト内のコードを色々試してみまして、希望の物に近い形が見つかりました。
わかり易いサイトをご紹介していただきありがとうございます。
これを元に自分で色々試してみます。
ありがとうございました。
No.1
- 回答日時:
質問者のプログラム技量次第でしょう。
VBAはVB6系統でVB6で出来ることは出来る場合がある。エクセルに関連付けてやる場合はVB6では難しい。エクセルVBAの特徴は、エクセルを扱うオブジェクト、メソッド、プロパティ
があること。
エクセルVBAだからといって、この課題に対し、良い助力(適した仕組み)も得られないと思う。
こういうユティリティ・オリエンテッドな問題は、自分でロジックやアルゴリズムを考えないといけない。
この課題に対し、このコーナーに、丸投げで質問する(自分の出来ない課題点が絞れていない)こと自体が、まだそこまで力が付いてない証拠でしょう。
ーー
やったこと無いが、
エクセルのツールバーを出してコントロールのその他(金槌とスパナ?のアイコン)を指定し、そこで出てくる、
MicrosoftTreeViewControl があれば、その使い方でも勉強したらどうです。
これが課題には近い仕組みのようだが目的によっては不適かもしれない。使うならWEBやコントロールの本を調べてみるとか。
>VBAの勉強をしてみまして
一般には、他でプログラムのプロもいるかもしれないが、これぐらいのレベルでやる課題ではないと思うが。
それに質問前半の表現がよくわからない。
>xls形式にて書きだすような
の意味は?
ツリー構造の図示は、どこへ、どのようにするか質問に説明してますか。
シートの上にボックスでも並べて、結線でもしたいのかな。
目的は何用に使うのかな?
>エクセルにて欲しい出力は下記のような形です。
セルにデータをならべただけのように見えるがツリー構造はどう表されているのですか。
==
(1)その前にフォルダの中のファイルを読んで、(取捨選択が必要?)、各テキストファイルの必要データを切り出し(とりあえずテスト的に)シートのセルに、べた並べするプログラムは出来たのかな。それが先決。
(2)その後、見てくれ的に表示位置などを整えるのは次の問題でしょう(難しいのはこちらだが)。
回答が遅くなりましてすみません。
書き方が悪かったのですが、ツリー構造を表す線は今回は必要ありませんでした。
ですので、まずは回答(1)の必要データの切り出しをするプログラムを作ってみようと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
会社のネットワーク上のファイ...
-
Windows10でコマンドプロンプト...
-
VB.NETでツリービューにフォル...
-
エクセルのデータをメモ帳に貼...
-
ファイル名と同名のフォルダを...
-
excelマクロ 冒頭3文字が一致す...
-
VBAでファイル名を指定して保存...
-
Downloaded Program Filesはど...
-
ActiveX EXE内でのCurDir関数の...
-
VBA 最新のフォルダ取得
-
パス名に2バイト文字(マルチバ...
-
VBS 途中のパスに変数を入れたい
-
フォルダ内のファイルの作成日...
-
VBA:特定の文字を含むフォルダ...
-
ディレクトリを選択するコモン...
-
ブラウザ上でエクスプローラの...
-
EXCEL VBAを使ったファイル解析...
-
【ExcelVBA】一覧表の記載に従...
-
GetAttrが原因?
-
カレントフォルダって?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル名と同名のフォルダを...
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
パス名に2バイト文字(マルチバ...
-
デスクトップの画像をhtmlに表...
-
ExcelのVBAでフォルダ指定がで...
-
C ファイル出力で、フォルダが...
-
Excelのハイパーリンクについて...
-
VBA 最新のフォルダ取得
-
【マクロ】フォルダにファイル...
-
【ExcelVBA】一覧表の記載に従...
-
【マクロ】ファイル名の日付に...
-
エクセルマクロで指定フォルダ...
-
フォルダにリンクを貼りたい
-
サーバ内のフォルダ名と各フォ...
-
Excelvbaでブックをコピー名前...
-
ThisWorkbookがあるフォルダ更...
-
excelマクロ 冒頭3文字が一致す...
-
VBA フォルダ名に特定の文字を...
-
Downloaded Program Filesはど...
おすすめ情報