フォルダのファイルの処理順について
こんにちは。フォルダのファイルの処理順について教えてください。
以下のシナリオで、1.pdfから順番に10個のファイルをファイル名を付けて
指定フォルダへ保存をする処理をしたいのですが、
1.pdf → 10.pdf → 2.pdf → 3.pdf → 4.pdf → ・・・
のように、なぜか1から順番にファイルを処理してくれません。この処理順の規則を教えていただきたいです。
(フォルダであらかじめ名前で並べ替えてみましたが結果は同じです)
また、何かいい方法があればご指南いただけますでしょうか。
どうぞよろしくお願いいたします。


そういう発想もあるのですね、ありがとうございます。試してみます!
エクスプローラーと同じファイル順でファイルパスを取得したい場合は、「ファイル一覧(ファイル名)取得」のスクリプトを下記のものに置き換えてみてください。
Public fso
Public ie
Public objFolder
Public objFolderItems
Public objItem
Public folderPath
Public ifolderPath=!フォルダ名!
Set fso=CreateObject("Scripting.FileSystemObject")
Set ie=GetObject("new:{C08AFD90-F2A1-11D1-8455-00A0C91F3880}")
ie.Navigate folderPath
Do While ie.Busy Or ie.ReadyState<>4
WScript.Sleep 100
LoopSet objFolder=ie.Document.Folder
Set objFolderItems = objFolder.Items()
'変数値を取得
i = !カウンタ!If CInt(i) < objFolderItems.Count Then
'ファイルやフォルダの情報を1コ取り出します
Set objItem = objFolderItems.Item(CInt(i))'取り出した物がファイルかフォルダかを判定
SetUMSVariable $ファイル名$, objItem.path
If objItem.IsFolder = True Then
'取り出した物がフォルダの場合
SetUMSVariable $種別$, "false"
Else
'取り出した物がファイルの場合
SetUMSVariable $種別$, "true"
End If
Else
Err.Raise 1, "", "フォルダもしくはインデックスの指定に誤りがあります。"
End Ifie.Quit
Set objItem = Nothing
Set objFolderItems = Nothing
Set objFolder = Nothing
Set ie = Nothing
Set fso = Nothing

ありがとうございます、試してみます!
原因はBETTYさんのコメントにあるものが答えだと思います。ご利用の端末のディスク形式によっては保存順などで取得されることもあるようです。
ライブラリ「ファイルリスト作成」は使われてみましたか?このライブラリを使うとcsv形式でファイルリストを作成できますので、あとはExcelの並び替え機能などを使えば、ご所望の処理が行えるかとおもいます。
私は作る側なのですが、運用する人が異なるので、
BETTY さんからコメントいただきました、
スクリプト修正はせずにファイル名の命名規則を変えるということでやってみましたらできました!
01.png 02.png …
>0と.で0が優先される
というのもとても勉強になりました。
それから、kenjiさんのスクリプトでやってみたところ、順番に処理が完了しました。
自分のライブラリに追加しておきたいと思います。
neo_mugichaさんもありがとうございました!
(直接の回答でないためコメントで失礼します)
10.pdfが2.pdfより先に来るのが問題点であれば、拡張子を含めたファイル名全体を文字列として昇順ソートされているのかなと思いました。(0と.で0が優先される)
十の位までファイル数があるのであれば、ファイル名を01.pdfから命名するようにして試してみてはいかがでしょう?