秘密基地、どこに作った?

エクセルVBAを用いて指定したセルの値を
表示中のWebページにあるテキストエリア等(よくある入力フォーム)に入力する
というものを作りたいのですが、
IEとの連携がよくわかりません。

似たようなもので、googleページを自動で開き、
テキストエリアに検索語句を入力し、ボタンを押す
というもののソースがありました。
下記のページの3番です。
http://www.hatena.ne.jp/1137216805

これを応用できるかなと思ったのですが、
うまくいきません。

・表示中のページに入力したいので
ie.Navigate ("http://www.google.co.jp/")
この部分が必要ありません。

呼び出したページではなく、表示中のページを
ie.document.allの対象にするにはどうすればよいのでしょうか?

また、他にも良いやり方がありましたら、教えてください。


よろしくお願いします。

A 回答 (2件)

こんばんは。



>そのまま貼り付けるとコンパイルエラーになってしまいました

たぶん、参照設定をしていないのだと思います。貼り付けてそのままできるわけではありません。

CreateObjectで、オブジェクトを作ってもよいけれども、IEの場合は、参照設定のほうがよいかと思います。
    • good
    • 1
この回答へのお礼

参照設定をしました思い通りに実行することができました。
大変参考になりました。ありがとうございました!

お礼日時:2006/03/04 23:43

こんにちは。



たぶん、これでいけると思います。
その後が難しいと思いますが、後は、がんばってください。

'-------------------------------------------------
Sub IETest()
'参照設定:Microsoft InternetControls
Dim objIE As InternetExplorer
'参照設定:Microsoft Shell Controls and Automation
Dim objShell As Shell
Dim WinFlg As Boolean
Dim objWin As Object
Dim AllLog As Object

On Error GoTo EndProcess
Set objShell = New Shell

For Each objWin In objShell.Windows
 If TypeName(objWin) = "IWebBrowser2" Then
   WinFlg = True
   Set objIE = objWin
   Exit For
 End If
Next
Set objShell = Nothing

If WinFlg = False Then
 MsgBox "IEオブジェクトが取得できません", vbCritical
 Exit Sub
End If
EndProcess:
If Err() > 0 Then
 MsgBox Err.Description
End If
With objIE
 Set AllLog = .Document.all
 'ここから探し出してください。
End With
Set objIE = Nothing
End Sub
    • good
    • 1
この回答へのお礼

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

このソースはどのように使えばいいのでしょうか?
そのまま貼り付けるとコンパイルエラーになってしまいました。

お礼日時:2006/03/03 17:29

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


おすすめ情報