2012/6/7 追記(コメント欄の動作報告を上に表示)
translation.infoseekのフォーマットが変更になったのかうまく取得できなくなっています。
objIE.Document.all("origin_doc").Value = Cells(yCNT, 1) 'A列の値を渡す
↑ここでエラーが出て止まってしまいますね。
現在、サンプルコードでは動かないみたいなので、参考程度に見てください
下記の質問を見て、昔作ったExcelからIE操作のサンプルを思い出す。
http://q.hatena.ne.jp/1279514525
【大量の英単語のリストを、日本語訳してくれるソフト】
手元に1000以上の英単語のリストがあります。この英単語を一気にすべて和訳してくれるソフト/サービスを探しています。
オリジナルな英単語帳を作りたいイメージです。
でも、無料サイトだからって、連続実行して迷惑をかけると
大量アクセス で 検索するとイロイロ出てくるけど、
岡崎市立図書館HP大量アクセス事|ムムの呟き
http://ameblo.jp/murmur-of-ignorance/entry-10575127519.html
から、岡崎市 図書館 大量アクセスで検索
岡崎図書館事件まとめ
http://librahack.jp/
みたいなこともあるので、注意が必要だったり。。。
※無料・タダに飛びつくとタダより高い物はないにならないように。。。
※※学校の宿題も自分で紙の辞書をひいた方が勉強になったり、、まぁ今はPCの辞書や携帯電話かもしれないけど。
そんな前説はこのくらいにして(前説のほうが解説よりも長かったり)
QA0914 .Document.allを使いデータセットと結果取得を連続で
http://ken3-info.blog.ocn.ne.jp/objie/2009/09/qa0914_document.html
これを参考にして、
(※サンプルと違うのは、URLが違うのと、オプションを選択しなかっただけですが)
こんな感じかなぁ
Option Explicit 'IEを使い 英単語を変換する 'A5から 単語を 変換サイトへ渡す(セットする) '表示された変換結果を受け取り 隣のB5〜セットする 'A列のデータが終了するまで、翻訳サイトにデータセット、結果をB列にセットを繰り返す。 Sub ie_test_e() 'IEの起動 Dim objIE As Object '変数を定義します。 Set objIE = CreateObject("InternetExplorer.Application") 'オブジェクトを作成します。 objIE.Visible = True '可視、Trueで見えるようにします。 '表示位置(左上の座標)とサイズ(高さ・幅)を調整する objIE.Top = 100 '左上 上位置 objIE.Left = 100 '左上 左位置 '変換元の日本語が無くなるまでループ Dim Wait_Time As Date '秒数を計算するため Dim yCNT As Integer '行数 For yCNT = 5 To 99 '5行目から最大99行目まで If Trim(Cells(yCNT, 1)) = "" Then Exit For 'A列が空白だったらループを抜ける '処理したいページを表示します。ここでは翻訳ページ objIE.Navigate "http://translation.infoseek.co.jp/?ac=Text&lng=en" '.Navigate メソッドで表示する。 '↑の起動待ち↓ 5秒間、待ってみた。 Wait_Time = DateAdd("s", 5, Now()) '5秒後を DateAddで計算 Do While Now() < Wait_Time '現在時刻が↑より小さい間 バカみたいに空回り(時間待ち) DoEvents Loop '※三流コードサンプルからアレンジして 良いコードを作ってくださいね。 'ページの表示完了を待ちます。 While objIE.ReadyState <> 4 Or objIE.Busy = True '.ReadyState <> 4の間まわる。 DoEvents '重いので嫌いな人居るけど。 Wend 'ページが表示されたので、表示された文章に対して、処理を行います。 objIE.Document.all("origin_doc").Value = Cells(yCNT, 1) 'A列の値を渡す 'objIE.Document.all("selector_1").Checked = True '日本語--英語 逆の時 objIE.Document.all("submit").Click '翻訳ボタンを押す '↑の起動待ち↓なんか、止まった感じがしてイヤなんだけど。。。 Wait_Time = DateAdd("s", 5, Now()) '5秒後を DateAddで計算 Do While Now() < Wait_Time '現在時刻が↑より小さい間 バカみたいに空回り(時間待ち) DoEvents Loop '※三流コードサンプルからアレンジして 良いコードを作ってくださいね。 '翻訳の結果を 表示完了を待ちます。 While objIE.ReadyState <> 4 Or objIE.Busy = True '.ReadyState <> 4の間まわる。 DoEvents '重いので嫌いな人居るけど。 Wend '結果のエリア converted を 取り出し、隣のB列にセット Cells(yCNT, 2) = objIE.Document.all("converted").Value Next yCNT '処理が終わったので、IEを閉じます。 objIE.Quit '.Quitで閉じる Set objIE = Nothing '使用したオブジェクト変数もキレイにしてね。 End Sub
実際のテストファイルは
/vba/zip/IE_TEST_0719.zip
においておくので、使ってみてください。
解説は、ほぼ同じなので、こっちに置いてある動画
QA0914 .Document.allを使いデータセットと結果取得を連続で
http://ken3-info.blog.ocn.ne.jp/objie/2009/09/qa0914_document.html
を見てください
何かの参考となれば、、、
※連続処理は注意して実行してくださいね・・・
その他 処理と関係ない広告です
下記、IE操作と関係ない広告です。(無料サイトも 広告を狙っているのに、、、連続実行されたら悲しいなぁ・・・)なんて思いつつも、下記最近の人気商品です。
【3気圧防水 breo ブレオ シリコンウォッチ 腕時計 ロームウォッチ 7月19日...[続きを見る]
【EFX正規販売店】 EFX パフォーマンスリストバンド スポーツ WR 7月19日...[続きを見る]
【メール便送料無料】 ☆2個セット☆ SANYO 【サンヨー DB-L8 7月19日...[続きを見る]
DS陰山メソッド 電脳反復 正しい漢字かきとりくん → 7月19日...[続きを見る]
JUNGLE STORM / サイドくしゅくしゅデザイン カーゴ ショー 7月19日...[続きを見る]
NEO by OYAIDE Elec d+ FireWire 6pin- 7月19日...[続きを見る]
SALUS アイススティックメーカー オレンジ → 7月19日...[続きを見る]
UVカット99%防災フィルム50SL → 7月19日...[続きを見る]
オート 油性替芯 0.7mm (インク色:クロ) No.87NP 5セッ 7月19日...[続きを見る]
カーメイト(CARMATE) プリウス用ラウンドノブ LS138 → 7月19日...[続きを見る]
カベンディッシュ&ハーベイ コーヒードロップ 200G → 7月19日...[続きを見る]
シルバー磨きクロス 用途の違う布の2枚セット ジュエリーセーム → 7月19日...[続きを見る]
スターウォーズ ヴィンテージ ベーシック フィギュア ダース・ベイダー 7月19日...[続きを見る]
ブラック岩塩(ヒマラヤ岩塩:バスソルト) ミル 1kg → 7月19日...[続きを見る]
ブレイク ブレイド PCデスクトップアクセサリー → 7月19日...[続きを見る]
モチベーション3.0 持続する「やる気!」をいかに引き出すか - 現在人気の モチベーション3.0 持続する「やる気!」をいかに引き出すか など 本・書籍を紹介する(...[続きを見る]
ローヤル Rody ロディ コンセントキャップ → 7月19日...[続きを見る]
蛍/少年(初回限定盤)(DVD付) → 7月19日...[続きを見る]
戦国BASARA弐 其の四 7月19日...[続きを見る]