回答編集履歴

1

コード例追加

2017/11/30 03:50

投稿

otn
otn

スコア84555

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