現在vbscriptを使用して、ファイルの一覧を降順に並び替えて出力をしたいのですが、
どうしたらいいのかわかりません。
ファイルの一覧は表示できるのですが、ならび変えるにはどうすればよろしいでしょうか?
教えていただけると大変助かります。
一覧表示
Option Explicit
Dim objFileSys
Dim objFolder
Dim objFile
'ファイルシステムを扱うオブジェクトを作成
Set objFileSys = CreateObject("Scripting.FileSystemObject")
'c:\temp フォルダのオブジェクトを取得
Set objFolder = objFileSys.GetFolder("c:\temp")
'FolderオブジェクトのFilesプロパティからFileオブジェクトを取得
For Each objFile In objFolder.Files
'取得したファイルのファイル名を表示
WScript.Echo objFile.Name
Next
Set objFolder = Nothing
Set objFileSys = Nothing
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No.1様のAdodb も良いのですが、簡易的な方法で、.Net Framework のSortedList を使ってみたらどうでしょう。
やってみると、けっこう、小回りが利きます。
それと、同じスタイルにしたかったけれども、検証が面倒なので、
>'取得したファイルのファイル名を表示
>WScript.Echo objFile.Name '個別に出力することになります。
この部分は、Buf に入れ、一覧にすることにしました。
'//
Dim objFileSys
Dim objFolder
Dim objFile
Dim DataLists
Dim i , j, buf
'ファイルシステムを扱うオブジェクトを作成
Set objFileSys = CreateObject("Scripting.FileSystemObject")
Set DataLists = CreateObject("System.Collections.SortedList")
'c:\temp フォルダのオブジェクトを取得
Set objFolder = objFileSys.GetFolder("C\Temp")
'FolderオブジェクトのFilesプロパティからFileオブジェクトを取得
For Each objFile In objFolder.Files
' SortedList に加える
DataLists.Add objFile.Name, i 'i はダミーのIndex
i= i + 1
Next
For j= Datalists.count -1 To 1 Step -1 '降順
'WScript.Echo DataLists.GetKey(j) '一覧にしたいので、以下でBufに入れました。
buf = buf & Chr(13) & DataLists.GetKey(j)
Next
WScript.Echo buf
Set objFolder = Nothing
Set objFileSys = Nothing
Set Datalists = Nothing
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) エクセルVBA(実行時エラー438)の対処法を教えてもらえないでしょうか 3 2023/04/22 13:43
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
VBAで新しい日付順にファイルを検索するには?
PowerPoint(パワーポイント)
-
VBScriptで配列のソートをするには?
その他(プログラミング・Web制作)
-
ファイル名「1.jpg ~10.jpg~」のソート
Visual Basic(VBA)
-
-
4
【VBS】 フォルダ直下のファイル名を配列に取り込む方法
Visual Basic(VBA)
-
5
vbsでテキストファイル内の文字列検索
Visual Basic(VBA)
-
6
VBscriptでExcel sheetの並び替えできますか?
Visual Basic(VBA)
-
7
VBScriptでExcel(2019)上のデータ並び替え
Ruby
-
8
VB.NETでファイル名順にファイルを読む方法
Visual Basic(VBA)
-
9
VBScriptで、ファイルから任意の行のみ取り出す方法について
その他(プログラミング・Web制作)
-
10
特定のファイルを他のプロセスが編集中か確認する方法
Visual Basic(VBA)
-
11
VBSの処理中一旦処理を止めて再開させたい。
Visual Basic(VBA)
-
12
VBSで起動したアプリが前面表示しない
Visual Basic(VBA)
-
13
VBS フォルダ内にあるすべてのファイルを検索→ファイルが特定のファイルなら開く
その他(プログラミング・Web制作)
-
14
【vbs】ファイル名の検索と該当ファイルの削除について
その他(プログラミング・Web制作)
-
15
VBScriptでコマンドプロンプトウィンドウを開いたままにしたいです
その他(プログラミング・Web制作)
-
16
VBScriptでExcel上のデータ並び替え
その他(プログラミング・Web制作)
-
17
VBのFunctionで、配列を引数や返却値にできますか?
Visual Basic(VBA)
-
18
VBscriptでPDFファイルを直接印刷できるようにするためには?
Microsoft ASP
-
19
VBSでExcelシートのコピー
Visual Basic(VBA)
-
20
文字列からタブコードを取り除きたい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
ACCESSのFieldの追加方法
-
python __del__()に関して
-
UserForm1.Showでエラーになり...
-
実行時エラー 3265「要求された...
-
パワーポイント filedialogでフ...
-
ドロップダウンリストの行を増...
-
VBA オブジェクトが空かどうか...
-
オブジェクト変数またはWITHブ...
-
テキストボックス中の文字列の...
-
VBScriptでCSVファイルのデータ...
-
VBS 指定のフォルダ内の最新の...
-
エクセルVBAでテキストボックス...
-
textBox isNot Nothing とは
-
PowerPointVBAでスライドマスタ...
-
VBScriptでファイルの日時順(降...
-
VBAによるコメントの余白設定
-
VBA プロパティについて
-
VBでPDFファイルを編集する
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
実行時エラー 3265「要求された...
-
エクセルのVBAの標準モジュール...
-
VBAで既に開いている別アプリケ...
-
VBAで Set wb = Sheets(1).Cop...
-
テキストボックス中の文字列の...
-
PowerPointVBAでスライドマスタ...
-
エクセルマクロエラー「'Cells'...
-
VBAからPDFファイルにパスワー...
-
Excelでフィルタをかけると警告...
-
オブジェクトが見つかりません
-
ある文字列が全て数字であるか...
-
EXCEL VBA オートシェイプナン...
-
[VBA]CDOメッセージ送信エラー
-
VBAで作成するメール(開封確認...
-
VBAについてです。 初心者です...
-
VBA:オートシェイプの線の長...
-
VBで引数にDictionaryオブジェ...
-
AccessVBAで「dim dbs as datab...
おすすめ情報