電子書籍の厳選無料作品が豊富!

何度もお世話になってます。エクセルVBAであれこれやってます。

リストボックの一覧表から、テキストボックスに、アドレス、No、氏名、受付日付、等を転記と

差し込みをして、さらに、それらを メール に転記して、メールを送るをいう作業をしてます。

テキストボックスに転記しなくてもできるのですが、一つ一つ確認したいので、このような操作してます。

リストボックの一覧表をクリックすることで、クリックされたIDごとに項目を転記して、個別に処理しています。

教えていただきたいのは、リストボックのクリックイベントをプロシャージャのなかで、起こせないか

ということです。

いろいろ検索をしていて、クリックイベントのシュミレートができるという記事を見かけましたが、

具体的なことが不明です。

もし、クリックイベントをプロシャージャで起こすことができるのでしたら、具体的にはどのような

コードを書けばいいのでしょうか、また、その時、マウスの位置情報等も引数?として渡す必要が

あると思うのですが、どのようにしたらいいのか、アドバイスお願いできればと思います。


クリックイベントをプロシャージャで起こすことができれば、リストボックスのクリックしたところの

色が変わるので、かなり視認性がよくなります。

よろしくお願いいたします。

A 回答 (2件)

No1です



>単にプロシャージャを直接呼び出したのでは、クリックイベントで取得できるIDが取得できず、~
そりゃそうですけれど、クリックするからには、何をクリックするのかわかっているはずではないのでしょうか?
とても効率の悪い方法のように思えます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

おっしゃる通りだと思います。

ただ,リストボックスの選択行の背景を変えるのは,クリックイベントをシュミレートするしか方法がないのかなと思いました。

要は,リストボックスの選択行の背景色を変えたいのです。

今は,クリックして個別に順次処理していくプロシャージャと,For ループで,IDを順次変化させて半ば自動で処理する,2種類の処理を選択できるようにしています。

この,For ループのなかで,処理行が解るように,背景色をかえたかったのです。

お礼日時:2021/04/24 21:52

こんばんは



VBAで直接マウスクリックを実行することはできなさそうなので、APIを利用することになりそうです。
クリック操作のエミュレートの方法の解説しているサイトがありました。
https://mmm-program.com/vba-mouse-click/

とは言うものの・・・
>エクセルVBAであれこれやってます。
とのことなので、自作のプログラムなのだと想像します。

・・・であるなら、わざわざそのようなまどろっこしいことをしなくても、
>クリックイベントをプロシャージャで起こすことができれば、
>リストボックスのクリックしたところの
>色が変わるので、かなり視認性がよくなります。
どういう仕組みにしているのかわかりませんが、クリック時のプロシージャを直接呼び出せば済む話ではないのでしょうか?
    • good
    • 1
この回答へのお礼

早速のご回答ありがとうございます。

APIの利用のHPの紹介もありがとうございます。


>クリック時のプロシージャを直接呼び出せば済む話ではないのでしょうか?

ですが処理したいことは、クリックイベントのプロシャージャに書いています。

ですので、多分、単にプロシャージャを直接呼び出したのでは、クリックイベントで取得できるIDが取得できず、うまくできないような気がします。

ご紹介いただいたAPIのHP参考にしながら、やりたいことの前段階として、マウスの座標の取得ができ、一歩前進しました。

ありがとうございました。

お礼日時:2021/04/24 20:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!