
【PPT VBA】フォルダ内のファイルを、ファイル名順に開く方法について
今晩は、質問させていただきます。どうぞよろしくお願いいたします。
環境:Win7+PPT2007 になります。
下記のようなコードで、あるフォルダ内のファイル群のデータを取得しております。
「ファイル名順」でデータを取り出したいのですが、違う順(おそらく日時順)で
出てくるので悩んでいる次第でございます。
検索いたしておりますと、ハードディスク等の環境によって検出順が異なるようでございましたが
何か、良さそうな方法がございましたらお教えいただきたくお願いいたします。
Dim File_Collection As Object
Dim File_List As Variant
Dim Folder_Collection As Object
Dim Folder_List As Variant
Set File_Collection = CreateObject("Scripting.FileSystemObject") _
.GetFolder(パス).Files
For Each File_List In File_Collection
'(名前順では検出してくれません。。。)
Next
暫く考えまして、例えば
Stringの配列を用意しておいて一旦、上記コードでファイル名とパスをリスト化
→配列の文字列を登り順に、Sort
→これの順にファイルを開いていく
などという事を思いつきました。しかしファイル数が多いため(100~500個でございます)、
これらの長いパスを配列に入れるというのも、メモリに負担がかかる(?)のかな
などと考えている次第でございます。
他に、配列の代わりにエクセルを一旦開いて、そこでソート・・・・・とも考えましたが
友人達に使っていただく可能性があり、余りスマートな解決策ではなさそうですので
それよりは上記の「配列でソート」を優先したい次第でございます。
コーディングで何か良い方法があれば良いのでございますが、
他の方法でも結構でございます。もし「自分なら、こうするかな」といった
ようなご意見などございましたら是非、ご紹介いただけないでしょうか。
もしお詳しい方がいらっしゃいましたら,どうぞよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
500個程度ならメモリに負担はないので、配列のソートが良いと思います。
ソートのアルゴリズムはインターネットで検索すればたくさん出てくるので、
あとはコピーして使って頂ければすぐに出来上がると思います。
どうもありがとうございます!m(_ _)m
はい、今作成いたしました(^^
が、、、「test_2.txt」より「test_10.txt」が先になってしまいます。。。
1→2→3→・・・→10→11→
となってほしいのですが、
1→10→11→・・・18→19→2→3→
となってしまいます。orz
もう少し検索して頑張ってみます!
この度はご親切にアドバイスいただき誠にありがとうございました!!(`_´ゞ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
Redim とEraseの違いは?
-
VB6のメモリ解放に関して
-
VB.NETの配列の限界を教えてく...
-
配列の中の最大値とそのインデ...
-
C#でbyte配列から画像を表示さ...
-
配列のペースト出力結果の書式...
-
ジャグ配列生成時の1オリジン
-
COBOLの基本的な事なので...
-
OutOfMemoryExceptionの回避策...
-
ポーカーを作りたいのですが・・・
-
VBAでMODE関数をつくる
-
VBA: Select Caseを短くしたい
-
大量の変数を定義するにはどう...
-
VB.NETの配列にExcelから読み込...
-
(VBA) 配列の文字列を昇順で並...
-
Imagelist の使い回しについて
-
VBAで配列引数を値渡しできない...
-
クリスタルレポートで文字列の...
-
SQLを発行とは?クエリの作成と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
エクセルでXY座標に並べられた...
-
vba フィルター 複数条件 3つ以...
-
配列のペースト出力結果の書式...
-
OutOfMemoryExceptionの回避策...
-
配列の中の最大値とそのインデ...
-
複数のtextboxの処理を一括で行...
-
Dir関数で読み取り順を操作でき...
-
VB6からの移行したいけど、VB.N...
-
COBOLの基本的な事なので...
-
構造体配列の特定のメンバーをF...
-
大量の変数を定義するにはどう...
-
EXCEL VBAの課題です
-
Redim とEraseの違いは?
-
VB.NETの配列にExcelから読み込...
-
VBAでMODE関数をつくる
-
VB.NETにて、構造体へデータを...
-
1ビットごとの配列を作りたい
-
VBAで配列引数を値渡しできない...
おすすめ情報