
現在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も見ています
-
VBScriptで配列のソートをするには?
その他(プログラミング・Web制作)
-
VBScriptでExcel(2019)上のデータ並び替え
Ruby
-
モーダルフォームとモードレスフォーム
Visual Basic(VBA)
-
-
4
0バイトのテキストファイル
Visual Basic(VBA)
-
5
VBScriptでSQLファイルの実行
その他(プログラミング・Web制作)
-
6
VBSでフォルダ内のテキストファイルを全て連結するには?
その他(プログラミング・Web制作)
-
7
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
8
【VBS】 フォルダ直下のファイル名を配列に取り込む方法
Visual Basic(VBA)
-
9
VBSで変数の宣言はできないのですか?
Visual Basic(VBA)
-
10
VBS でのソート処理Excel2003
Visual Basic(VBA)
-
11
VBS フォルダ内にあるすべてのファイルを検索→ファイルが特定のファイルなら開く
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
プログラミングを学べる!?進化している子どものおもちゃについて専門家に聞いた!
プログラミングを学べるレゴブロックがあることはご存知だろうか。レゴに限らず最近のおもちゃには、プログラミングの要素がどんどん取り入れられているようだ。「教えて!goo」にも、「プログラミングを学べる子供...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
VBAで Set wb = Sheets(1).Cop...
-
Excelでフィルタをかけると警告...
-
sheetsメソッドの失敗
-
VBAでWebページにセルの値を入力
-
VBAで既に開いている別アプリケ...
-
オブジェクトが見つかりません
-
VBからPDFファイル自動生成...
-
エクセルマクロの行選択
-
vb.netアプリケーションで発生...
-
findメソッドの変数について
-
Excel VBAでWordの複数ファイル...
-
ASPからSELECT文を複数発行する...
-
エクセル/保護したシート上の埋...
-
実行時エラー 3265「要求された...
-
エクセルマクロエラー「'Cells'...
-
エクセルVBAでcode128のバー...
-
Excel2007 VBA ラジオボタン Ca...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
Excelでフィルタをかけると警告...
-
実行時エラー 3265「要求された...
-
VBAで既に開いている別アプリケ...
-
テキストボックス中の文字列の...
-
ExcelVBAでのNZ関数について
-
[VBA]CDOメッセージ送信エラー
-
EXCEL VBA オートシェイプナン...
-
VBAで Set wb = Sheets(1).Cop...
-
エクセルマクロエラー「'Cells'...
-
AccessVBAで「dim dbs as datab...
-
Excel VBAでWordの複数ファイル...
-
オブジェクトが見つかりません
-
CreateObjectとGetObjectの違い
-
エクセルVBAで配列内に空白デー...
-
オブジェクト変数またはWITHブ...
-
エクセルVBAでcode128のバー...
-
VBScriptからDLL参照設定したい
おすすめ情報