tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: VBA コントロールに付加したイベントが働かない
投稿日: 2015/09/16(Wed) 09:54
投稿者わごなる
魔界の仮面弁士様、御回答頂きありがとうございます。
前回この掲示板に相談させて頂いた際にも御回答頂き、大変助かりました。

早速ですが、試しました。
→生成:13064DC0             2015/09/16 09:35:38.1015625
←解放:13064DC0             2015/09/16 09:35:42.0820313
仰るとおり、すぐに解放されてしまっていることが確認できました。

実はこの問題にぶつかる前に、グローバル定義の配列変数が
本件と同様のタイミングで初期化されてしまうことがありました。
魔界の仮面弁士様の推察通りだとすると、それについても合点がいきます。
初期化されてしまうきっかけはOLEObjectの挿入でした。
ユーザーコントロールの挿入では発生しませんでした。

現時点では解決策は見つけられていませんが、
今起きている現象がわかっただけでも大きな収穫です。
ありがとうございました。
もし何か打開策あればご教授頂けますでしょうか。


> > Set cmbPos = Range(A3)
> A3 という変数ですか?
> "A3" という文字列ではなく?
本来このA3のところには変数を割り当てておりましたが、
本投稿に際し、適当な定数に置き換えたつもりでした。
その場合、正しくは"A3"です。

> それと、ComboBox の生成コードに合わせるため、上記は「Range」ではなく、
> 「ActiveSheet.Range」にした方が適切かと思います。
> > Set objcmb = ActiveSheet.OLEObjects(m_objOLE_C.Name).Object
> 「Set objcmb = m_objOLE_C.Object」で良いのでは。
> > ※クラスモジュール「clsObjectIvent」に下記コード
> clsObjectEvent ではなく?
ありがとうございます。
修正後、動作確認できました。

> > Set NewObj = New clsObjectIvent
> 変数 NewObj はどこで宣言されていますか?
標準モジュールで定義しております。
Public NewObj As clsObjectEvent

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。