質問編集履歴
1
回答いただいた内容から質問文追記。仕様修正および代替案希望。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
データベースクラスからComboboxへループを回してItem追加したい
|
body
CHANGED
@@ -1,19 +1,43 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
|
-
①UserFormのComboboxのア
|
2
|
+
①UserFormのComboboxのアItemを条件によって丸ごと入れ替えたい。
|
3
3
|
②UserFormを開く際に条件は確定されている。
|
4
4
|
③Comboboxに入れたいリストは他のDBクラスに記載。(コードが長くなるため)
|
5
|
-
④
|
5
|
+
④データベースクラスのItemリスト(文字列)は条件ごとにひとまとめにしておきたい。
|
6
|
+
⑤データベースクラスのItemリストは今後データが増えることを考慮して編集はしやすくしたい。(実行時に動的な編集はしない。コーディング時のみ編集する)
|
6
|
-
|
7
|
+
⑥ComboboxにItemを入れる際はなるべく手作業でコードを編集しなくて良いように、ループを回したり、対象リストを丸ごといれたい。
|
7
8
|
|
8
|
-
|
9
|
+
下記の試したことでは実現できないようなので、何か代替案を頂ければ幸いです。
|
10
|
+
データベースクラスのItemリストは新規でつくるため、データ格納方法は変えられます。
|
9
11
|
|
10
12
|
### 試したこと
|
11
|
-
管理しやすくし、他の処理で数値が使えるため、
|
13
|
+
管理しやすくし、他の処理で数値が使えるため、データベースクラスには条件数分のEnumを作りアイテム名を列挙しました。
|
14
|
+
|
15
|
+
'DB class
|
16
|
+
Enum data1
|
17
|
+
aaa=1
|
18
|
+
bbb
|
19
|
+
ccc
|
20
|
+
・・・・
|
21
|
+
fin
|
22
|
+
End Enum
|
23
|
+
|
24
|
+
Enum data2
|
25
|
+
abab=1
|
26
|
+
bcbc
|
27
|
+
・・・・
|
28
|
+
fin
|
29
|
+
End Enum
|
30
|
+
|
12
31
|
UsrForm側で、
|
32
|
+
select case 条件
|
33
|
+
case 条件
|
34
|
+
For i=1 to (DB.data1.fin -1)
|
13
|
-
Combobox.addItem
|
35
|
+
Combobox.addItem DB.data1.列挙子名(index)
|
36
|
+
Next
|
37
|
+
・・・
|
38
|
+
End select
|
14
|
-
みたいな感じにForループでEnum要素数分アイテムを入れようとしましたが、列挙子の文字
|
39
|
+
みたいな感じにForループでEnum要素数分アイテムを入れようとしましたが、ご回答いただいたところ、VBAでは列挙子の文字が取得できないようでした。
|
15
40
|
|
16
41
|
|
17
42
|
### 補足情報(FW/ツールのバージョンなど)
|
18
|
-
VBA6.5
|
43
|
+
VBA6.5
|
19
|
-
ここにより詳細な情報を記載してください。
|