読者です 読者をやめる 読者になる 読者になる

三流君 ken3のmemo置き場

メモ置き場、保管庫として利用。まとまっていませんがヨロシク



XXXXXさんへ VBA で カーソル移動のAPI SetCursorPos を使ってみては?

IE操作 VBA

また また また、ダメでした、、と連絡をいただく(涙)(涙)(涙)


>テキストボックスにカーソルが存在するのではなく、
>テキストボックス以外の場所でマウスが動いたことで送信されるようです。
>
>わたしの力ではVBAでマウスの動きを感知させる手段が思いつきません・・・

XXXXXさんへ Aタグ リンクの文字を探して押す - ken3memo (三流君)
XXXXXさんへ IE操作で DoEventを入れたり処理待ちを入れてみては? - ken3memo (三流君)
XXXXXさんへ IE操作 .Focus で フォーカスがセットできると思います。 - ken3memo (三流君)
の 流れ、続きです。(※完璧に避けられているなぁ、嫌われたかな(笑))

カーソル移動のAPI

>わたしの力ではVBAでマウスの動きを感知させる手段が思いつきません・・・
いつもの私もわからなくって、、で逃げる
表に出ないパターン失敗なんだけど
※成功結果しか表に出していないから?↓なんでもできるように期待されるけど...実は...
XXXXXさんへ 4/1だけど 三流君の真実は... - ken3memo (三流君) を参照

そんな話は置いといて、(↑今回もたまたま見つかったから成功記事にしただけかなぁ...)

マウスカーソル 位置 指定 などで検索すると
http://msdn.microsoft.com/ja-jp/library/cc411029.aspx
など、
SetCursorPos
が見つかります。

スバリのVBA サンプルがほしかったので、
VBA SetCursorPos で 検索すると

http://homepage1.nifty.com/MADIA/vb/API/SetCursorPos.htm
などサンプルが多数見つかるので、そのままテストで使ってみます。

テストしたコード

Option Explicit

'標準モジュール 頭で忘れずに 使用するAPIの定義を入れてね。

'マウス関係
Declare Function SetCursorPos Lib "USER32" (ByVal x As Long, ByVal y As Long) As Long

'XをセルC2から、YをC3から取り出し マウスカーソルを移動させてみる
'VBA SetCursorPos で 検索
' http://homepage1.nifty.com/MADIA/vb/API/SetCursorPos.htm を参考にしてみました。
Sub test_XY()

    Dim x As Long, y As Long
    
    x = Range("c2")  'セルから代入
    y = Range("c3")
    
    Dim Ret As Long
    Ret = SetCursorPos(x, y) '単純にAPIを呼んだだけです。

End Sub

テスト結果

いつもの解説とテスト結果 : http://www.youtube.com/watch?v=xioP-Zv6fUI


終わりの挨拶

もっと、APIも勉強しないとなぁ・・・と思いつつ失礼します。

三流プログラマー Ken3

PS.自動操作 よけ なので、カーソルを移動させたくらいじゃ、またまた避けられそうな予感もするけど。
 ※※嫌われても、しつこく、手を変え品を変えてアタックかなぁ(ぉぃぉぃ)