エクセルvbaから他ソフトに入力,選択をしようとしています。
テキストボックスへの入力やコンボボックス内の選択肢の変更はできるのですが、コンボボックスの選択肢を変更した際に起きるはずのアクションが起きません。
コンボボックスを選択するのは以下のコードを使っています。
vba
1SendMessageStr(コンボボックスのハンドル, &H14E, 選びたいものの順番, 0) 'CB_SETCURSEL = &H14E
上記コードではおそらくコンボボックスのテキストを書き換えるだけで「CBN_SELCHANGE」が発生していないのかと思うのですが、この「CBN_SELCHANGE」を発生させる方法がいまいちわかりません。
自分で調べた範囲では下記のようなコードで解決できそうな気がするのですが、各パラメータに何を指定すればいいのかを理解することが出来ませんでした。
vba
1PostMessage(WM_COMMAND, MAKEWPARAM(CBN_SELCHANGE, IDC_COMBO), (LPARAM) 2GetSafeHwnd());
「CBN_SELCHANGE」を送る先のハンドルや変更したコンボボックスのハンドルを指定する必要があるのかと思うのですがどのパラメーターがそうなのでしょうか?それとも別のパラメータなのでしょうか?
ご教示お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/16 11:07