人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excelのマクロを使って、インターネットエクスプローラーを操作したいです。
例えばGOOGLEで「VBA」というキーワードを検索するにはどうしたらよいでしょうか?

ただし下記の2つの作業を行うことを条件としております。
?検索窓を指定して、キーワードを入力。
?「GOOGLE 検索」のボタンを押す。

他の方法で検索する方法は必要ありません。

マクロを勉強し始めてまだ1週間もたたない初心者です。
ご指導よろしくお願いします。

●質問者: taroemon
●カテゴリ:コンピュータ
✍キーワード:Excel Google VBA インターネットエクスプローラー キーワード
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● tom_brown
●10ポイント

http://www.microsoft.com/japan/msdn/vbasic/

Visual Basic デベロッパー センター

エクセルのマクロではエクセルの中でしか出来ません。

Visual Basic を使ってインターネットエクスプローラーを、

操作したいのであれば

Visual Basic を購入する必要があります。

http://www.vector.co.jp/soft/win95/util/se211440.html

キーボードマクロ&マウスマクロ KMmacro(Windows95/98/Me / ユーティリティ)

また、マクロを使ってインターネットエクスプローラーを、

操作したいのであれば、

フリーソフトがいくつかございますので、

ダウンロードしてみるとよいでしょう。

http://www.vector.co.jp/vpack/filearea/win95/util/operate/index....

Download: Windows95/98/Me用ソフト > ユーティリティ > 操作関係

◎質問者からの返答

さっそくのご回答ありがとうございます。

もちろんVBAを使って操作したいと思っています。言葉足らずでしたね。

また他のツールや方法は必要としておりません。

上記のような操作を行うためのプロシージャを教えていただけると幸いです。


2 ● zifree
●30ポイント

http://www.hatena.ne.jp/1078308281

人力検索はてな - 複数のテキストボックスの中身をコピーして、他のウインドウの同数のテキストボックスにその内容をペーストする必要性が出てきました。 データ1+TAB+データ2+...とい..

ExcelのVBA用に簡単な(そのかわり、あまりいい方法では無いですが)サンプルコードを書いてみました。


1.IEを起動し、www.google.comを開く

2.検索したい言葉をセルA1からクリップボードにコピー

3.検索したい言葉をCTRL+Vでペースト

4.Enterキーを押す

と言う操作を自動的に行います。


◎準備

・CommandButtonを1個置いて、名前をcmdGoogleとしておきます。

「表示」→「ツールバー」→「コントロール ツールボックス」

で表示されたコントロール ツールボックスから「コマンドボタン」を選び、

シートの適当な場所をクリックしてボタンを置きます。

ボタンの右クリックメニューから「プロパティ」を選び、

(オブジェクト名)を「CommandButton1」→「cmdGoogle」に変更します。

・セルA1に検索したい文字列「VBA」を入れておきます。


◎コード ※ ’と:と¥と”は全角になっていたら半角に直して下さい

Private Declare Function GetTickCount Lib ”kernel32” () As Long


Private Sub cmdGoogle_Click()


’IE起動。パスはお使いの環境に合わせて下さい。

Shell ”C:¥Program Files¥Internet Explorer¥IEXPLORE.EXE www.google.com”, 1

Waiter 5000 ’IEが起動するまで少し待つ。うまくいかなかったら値を増やして下さい

’セルA1をクリップボードにコピー

Cells(1, 1).Copy

’キー入力を送る。Ctrl+vの後Enter

’キー入力が早すぎると失敗することがあるので、キー入力した後も少し待っています

SendKeys (”^(v)”)

Waiter 500

SendKeys (”{ENTER}”)

Waiter 500

End Sub


’TTで指定した時間(単位はミリ秒)だけ何もせず待つ関数

Private Sub Waiter(TT As Long)

Dim T1 As Long, T2 As Long

T1 = GetTickCount()

Do Until T2 - T1 >= TT

T2 = GetTickCount()

DoEvents

Loop

End Sub

http://homepage2.nifty.com/kasayan/vba/vba4.htm

他のアプリケーションの起動(API,OLE,DDE)

この方法の欠点はキー入力を送る方法なので、実行中マウスやキーボードを操作すると失敗することです。


またsendKeys関数はWindowsAPIのSendInputを、

Shell関数はWindowsAPIのShellExecuteを

使った方が安全です。

http://homepage1.nifty.com/MADIA/vb/vb_bbs2/200305_03050014.html

web?y?[?W???????????????H

VB6でWebBrowserコントロールを使う方法についての議論がありました。

VBAでも同様にできるはずです。

http://www.microsoft.com/japan/msdn/vs/webapplication/vbtchAcces...

Visual Basic .NET を使用した Google Web サービスへのアクセス

IEを使った検索にこだわらないなら、Google Web APIを使うべきです。

Visual Basic .NETでのサンプルですが、WebBrowserコントロールの方法と同様ExcelのVBAでも可能だと思います。


3 ● nkysn
●50ポイント

http://www.ken3.org/cgi-bin/group/vba_ie.asp

?O???NVBA??InternetExplorer.Application? ◎質問者からの返答

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

これでなんとかできそうです。ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ