質問編集履歴
2
言葉不足なの点と誤字を改めました
test
CHANGED
File without changes
|
test
CHANGED
@@ -36,7 +36,7 @@
|
|
36
36
|
|
37
37
|
|
38
38
|
|
39
|
-
0.
|
39
|
+
0. そもそも、こうやってフォームだけを別に集めて別exe化するだけで、エクセルの挙動は安定するのか
|
40
40
|
|
41
41
|
|
42
42
|
|
1
言葉不足なの点と誤字を改めました
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,9 +12,9 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
つまり、元のエクセル.xlsm
|
15
|
+
つまり、元のエクセル.xlsmはフォームを自分で持つことをやめ、必要に応じてパートナーである自作VBNETシステム.exeを(そのとき起動してないなら)起動させて、必要なフォームを表示してもらう、という形にした方がいいのではないか。そうしたら、エクセルとしてはモーダルフォームを出すことはないから、同時に開いている別ブックやそのウィンドウに不当な影響を与えることはないのではないか、と。
|
16
16
|
|
17
|
-
これまでエクセルでフォームを表示させていた場面では、
|
17
|
+
これまでエクセルでフォームを表示させていた場面では、これからは、そのエクセルのVBAから自作VBNETシステム.exeを起動させて「あなたが所持している○○というフォームを表示しろ」と命令することにし、なおかつ、「そのフォームの各テキストボックスコントロールの初期値はわがエクセルファイルの××というシートのこのセルの値にしておきなさい」としておく形にし、
|
18
18
|
|
19
19
|
逆に自作VB.NET.exeの方では、「フォームにあるこの"決定"コマンドボタンがクリックされたときは、今開かれているはずの相棒エクセル.xlsmの、××というシートの該当セルに、我がフォームのテキストボックスコントロールの値を挿入し、なおかつ、そのエクセルシステムにある○○というプロシージャを実行させて、自らは閉じてしまえ」と命令を書いておけばいいのではないかというアイデアを思いつきました。
|
20
20
|
|