アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセル2003VBAで、IE6で表示されているWebページ上にあるチェックボックスにカーソルを移動したいのですが、
下記のコードでは、CheckBox.がエラーとなってしまいます。

\'チェックボックスにフォーカスが当たるまでタブ移動
While CheckBox.BoundValue = -1
SendKeys \"{tab}\", True
Wend

どういう風に修正したらよろしいでしょうか?
ご存知の方よろしくお願いいたします。

A 回答 (1件)

違う方法ですが…



どのようにして目的のページを表示させているのか不明ですが、IEのオブジェクトからHTMLドキュメントを取得して、目的のチェックボックスのidやタグを取得すれば可能です。
以下のサンプルではnameがcのINPUTを探していますが、対象にidがあれば直接取得できますし、なければFormから探しても良いし、直接タグの種類やタイプをチェックすることでもいけるでしょう。
(表示されているHTMLの内容によりますので、適宜設定してください)

<サンプル>
Sub test()
Dim Browser1 As Object, elm As Object
Dim url As String, i

url = "XXXXXXXX"

Set Browser1 = CreateObject("InternetExplorer.Application")
Browser1.Navigate (url)
Browser1.Visible = True

Set elm = Browser1.document.getElementsByTagName("INPUT")
For i = 0 To elm.Length - 1
 If (elm(i).Name = "c") Then elm(i).Focus: Exit For
Next i
End Sub
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
ばっちりできました!

Browser1.Visible = True
の後に、タイマーがいるようですね。
以下のコードを継ぎ足したのですが、ちょっと重いのでもう少しあれこれ考えてみます。

----------------------------------------------
'次の画面が表示されるまで待機
Const READYSTATE_COMPLETE As Long = 4 'IEオブジェクト状態(4=読み込み完了)
While Browser1.ReadyState <> READYSTATE_COMPLETE
While Browser1.Busy = True
DoEvents
Wend
Wend
----------------------------------------------

お礼日時:2009/07/01 12:47

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