こんばんは。
今、VB6でActiveXコントロールを作成しようと思っています。
現在、標準EXEにて、プログラムが作ってあります。
動作としては、
1.スタートボタン(CmdStart)で開始
2.処理(外部の測定器によるデータ収集)
3.終了ボタン(CmdEnd)にてプログラム終了
です。
これをもとに、ActiveXコントロールを作成したいです。手元にある文献にしたがってほぼコピー&ペーストで作成しました。また、これの動作を調べるため、標準EXEのフォームを作成し、そのフォームにActiveXコントロールを貼り付けました。
ここで質問です。
Form_LoadはUserControl_Initializeに書き換えました。(これは文献に載っていました)
最後のプログラム終了がうまくいきません。
標準EXEでは
Private Sub CmdEnd_Click()
Unload Me
End Sub
と書いてプログラムを終了させていました。
ここを書き換えずにActiveXコントロールを実行させたらエラーが出ました。"Unload Me"を"End"に書き換えてみたら、サポートされていないと出ました。
CmdEndをクリックしてプログラムを終了させるにはどう書けばいいでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
ActiveXコントロール内で、プログラムを終了させよう、というプログラムデザインがそもそもの元凶だと思われます。
質問で書かれていた、1,2,3の処理中、2の機能を持ったActiveXコントロールを作成する。
1の処理開始、3のプログラム終了はActiveXコントロールを貼り付けられるプログラム本体で処理する方が良いと思います。
仮に2の処理終了と同時に、プログラムを終了させたいと言うことであれば、ActiveXコントロールに処理終了イベントを実装します。
'処理が終了したことを通知するイベント
Event ShoriShuryo
のような感じです。
処理が終わった際に、
'処理終了イベントを発生させてプログラム本体に通知する
RaiseEvent ShoriShuryo
としてやれば、本体プログラム中でShoriShuryoイベントが発生しますので、プログラム終了のためにUnload Meを実行します。
決してお勧めなわけではありませんが、以下のようにすると内部の終了ボタンがクリックされた事を、本体プログラム側に通知することができます。
'『終了』コマンドボタンがクリックされたことを通知するイベント
Event EndClick
Private Sub CmdEnd_Click()
RaiseEvent EndClick
End Sub
回答ありがとうございます。
たしかに、ゆくゆくはExcelにはりつけて利用しようと思っていたので、そちらで処理させようと思います。
参考になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel・ユーザーフォームの情報を受け渡したい 4 2022/06/08 10:11
- C言語・C++・C# ActiveXコントロールを.NETにインポートできない??? 2 2023/05/02 02:50
- Java Java 年数計算 3 2023/01/28 10:52
- Windows 10 バッチファイルでのエクスプローラー終了 1 2022/05/30 14:32
- Excel(エクセル) EXCEL ActiveX コマンドボタンで実行する前にいったんmsgBoxで確認を求めたい 1 2022/07/06 19:41
- Excel(エクセル) excelvbaでスライドショーを作りたい 2 2023/04/20 14:32
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) Vba UserFormを前面に出す方法を教えてください 1 2023/08/17 11:08
- Excel(エクセル) PDFファイルに日付を名前にして保存したい。 エクセル2019でワークシートに請求書のフォームを作り 2 2023/05/27 11:13
- 分譲マンション 管理組合・議案書内の理事長の挨拶文書作成にについて 2 2023/03/26 01:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで仕様書は書きますか?
-
きれいなコード vba vbaを勉強...
-
逆フーリエ変換のプログラムに...
-
【JAVA】数字をひし形に出力す...
-
Excelで4096点以上のFFTの方法
-
65536は2の何乗なのでしょうか?
-
C++ で、「)」が必要 というエ...
-
フローチャートで 変数に代入す...
-
正しい五十音順について
-
テキストボックスのエンターキ...
-
0除算して、落ちるプログラムと...
-
Excelに埋め込んだVBAのプログ...
-
VBでReplace
-
「Outlookが他のプログラムによ...
-
あるプログラムのコマンドライ...
-
エクセルとワードをデスクトッ...
-
未使用の変数を一括検索する方法
-
Photoshopで、できますか?
-
VBAで関数をつくる
-
変数の値が勝手に変化する原因
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで仕様書は書きますか?
-
C言語(gcc), Linux, FTPプログ...
-
空elseの有無
-
COBOLのCALL文がいまいちつかめ...
-
プログラミングのコード量に関...
-
VBからシャットダウンさせる方法
-
他人が作ったプログラムのメン...
-
プログラム動作時のCPU処理時間...
-
変数・オブジェクト名に漢字使用
-
C++ソースからUMLの設計書を作...
-
プログラミングの読み方、書き...
-
きれいなコード vba vbaを勉強...
-
ソースコード改造 msペイント
-
CからJavaの呼び出し
-
BIOSってどんなCPUで処理してる...
-
「ルーチン」という言葉の意味
-
MFC,C++/CLI,C#の共存
-
ActiveXコントロールの作成(V...
-
テキストの折り返し処理について
-
(各種言語)自作関数化の基準...
おすすめ情報