【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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
vba フィルター 複数条件 3つ以...
-
エクセルでXY座標に並べられた...
-
CheckBoxの配列化
-
Excel2010のinputboxで複数デー...
-
定数配列の書き方
-
VBAでMODE関数をつくる
-
Dir関数で読み取り順を操作でき...
-
VBA ReDim と ReDim Preserve ...
-
VB6のメモリ解放に関して
-
excel vbaの配列なんですが・・・
-
C#でbyte配列から画像を表示さ...
-
複数のtextboxの処理を一括で行...
-
配列のペースト出力結果の書式...
-
構造体配列内の文字列検索のよ...
-
.NET 文字コードの変換
-
VB6からの移行したいけど、VB.N...
-
countif/sumifのようなVBA関数
-
EXCEL VBA 配列デー...
-
テキストボックの文字を一行ず...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
Excel2010のinputboxで複数デー...
-
vba フィルター 複数条件 3つ以...
-
C#でbyte配列から画像を表示さ...
-
配列のペースト出力結果の書式...
-
Dir関数で読み取り順を操作でき...
-
エクセルでXY座標に並べられた...
-
VBAで配列引数を値渡しできない...
-
C++で作成したDLLにVBAから配列...
-
構造体配列の特定のメンバーをF...
-
OutOfMemoryExceptionの回避策...
-
大量の変数を定義するにはどう...
-
VBAでMODE関数をつくる
-
VBScriptでCSVファイルを読み出...
-
定数配列の書き方
-
Segmentation Fault (メモリ制限?)
-
Excelのメモリ(配列)の上限は2G...
-
Redim とEraseの違いは?
-
CheckBoxの配列化
-
配列の中の最大値とそのインデ...
おすすめ情報