
添付画像のような構成のフォルダがあります。
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でコマンドプロンプト...
-
ディレクトリ名変更してコピー...
-
クラウドにあるフォルダを共有...
-
【ExcelVBA】一覧表の記載に従...
-
vbsで選択ダイアログを表示した...
-
VBScriptで空フォルダ圧縮
-
ExcelのVBAでの複数階層からの...
-
【VBS】古い日付のフォルダを削...
-
エクセルのデータをメモ帳に貼...
-
Access VBA で フォルダ権限...
-
Excel VBA マクロ リストボックス
-
サーバ内のフォルダ名と各フォ...
-
Downloaded Program Filesはど...
-
FileSystemObjectでのパス名の取得
-
Debug フォルダは消していいの?
-
あるフォルダの中にあるファイ...
-
C++Builder Ver6.0.でコンポー...
-
パス名に2バイト文字(マルチバ...
-
「フォルダの参照」ダイアログ...
-
Excelのハイパーリンクについて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
ファイル名と同名のフォルダを...
-
VBA フォルダ名に特定の文字を...
-
ExcelのVBAでフォルダ指定がで...
-
デスクトップの画像をhtmlに表...
-
VBA 最新のフォルダ取得
-
VBA フォルダの複数選択ができない
-
Excelのハイパーリンクについて...
-
パス名に2バイト文字(マルチバ...
-
【コマンドプロンプト】名前順...
-
【ExcelVBA】一覧表の記載に従...
-
サーバ内のフォルダ名と各フォ...
-
Wallpaper Engineでおすすめの...
-
ファイルとフォルダのどちらも...
-
Debug フォルダは消していいの?
-
Excelで指定したフォルダに保存...
-
VBプロジェクトでのフォルダ構...
-
GetAttrが原因?
-
Hitachi Embedded Workshop (HE...
おすすめ情報