回答編集履歴

1

コード例追加

2017/11/30 03:50

投稿

otn
otn

スコア86336

answer CHANGED
@@ -1,2 +1,25 @@
1
1
  `Dir`の出力順をなんとかする事は出来ない(多分物理順)ので、ソートするしかないですね。
2
- 配列のソート関数とかは無いと思うので、自分でソート処理を書く事になるかと。取得する度に、位置を決めてずらすんでしょうか。
2
+ 配列のソート関数とかは無いと思うので、自分でソート処理を書く事になるかと。取得する度に、位置を決めてずらすんでしょうか。
3
+
4
+ 変数宣言を省略するとこんな感じか。
5
+ ```VBA
6
+ n = 1
7
+ files(0) = Dir("*")
8
+ Do
9
+ file = Dir()
10
+ If file = "" Then Exit Do
11
+ For i = 0 To n - 1
12
+ If file < files(i) Then
13
+ For j = n - 1 To i Step -1
14
+ files(j + 1) = files(j)
15
+ Next
16
+ Exit For
17
+ End If
18
+ Next
19
+ files(i) = file
20
+ n = n + 1
21
+ Loop
22
+ For i = 0 To n - 1
23
+ Debug.Print files(i)
24
+ Next
25
+ ```