- 日時: 2012/01/22 07:36
- 名前: VBレスキュー(花ちゃん)
- ***********************************************************************************
* カテゴリー:[インターネット][][] * * キーワード:ログイン,自動的に,検索,メール,IE,ボタンをクリック,テキスト入力 * ***********************************************************************************
----------------------------------------------------------------------------------- 題 名 : Re^3: 翻訳エンジンを利用した翻訳プログラム 記事No : 11433 投稿日 : 2012/01/21 投稿者 : VBレスキュー(花ちゃん) ----------------------------------------------------------------------------------- 適当に作っておりますので、後はご自由にアレンジして下さい。
※ サイトが改変されると下記の設定では取得出来ない場合があります。その場合は要素を 調べ直して下さい。 使用コントールと貼り付け位置は、最下部の実行結果画面を参考にお好みで作成して下さい 最近、サイトが変更されましたのでこれを機に作り直して見ました。 一旦翻訳してから、再翻訳して元の語句になっているかどうか確認するようにしております
'================================================================== 'SampleNo:505 2008.02.15 C 2012.01.21 'タイトル:エキサイト 翻訳を使っての自動翻訳(505) '動作確認:WindowsVista Windows7 VB6.0(SP6) IE9.0 'プロジェクト→参照設定→で Microsoft Internet Controls にチェックを '入れておいて下さい。 '================================================================== Option Explicit
Private WithEvents IE As SHDocVw.InternetExplorer Private frgClose As Boolean Private myURL As String Private SNo As Integer
Private Sub Command1_Click() Text2.Text = " ---------- 只今、翻訳中! しばらくお待ち下さい ----------" '起動中のIEを閉じる場合 If Not IE Is Nothing Then IE.Quit Set IE = Nothing End If Set IE = New SHDocVw.InternetExplorer myURL = "http://www.excite.co.jp/world/english/" '指定のURLを表示 IE.navigate myURL IE.Visible = True 'IE を表示 SNo = 1 End Sub
Private Sub IE_DocumentComplete(ByVal pDisp As Object, URL As Variant) If Not TypeName(pDisp) = "IWebBrowser2" Or URL <> myURL Then 'フレーム内部のページ等だから無視 Exit Sub End If If SNo = 1 Then 'テキストボックス(原文)に翻訳したい文字列を書き込み IE.document.getElementById("before").Value = CVar(Text1.Text) If Option1.Value = True Then '英語→日本語ボタンをクリック IE.document.getElementById("en-to-jp").Click Else '日本語→英語ボタンをクリック IE.document.getElementById("jp-to-en").Click End If End If If SNo = 2 Then '翻訳結果を取得(右側の訳文のテキストボックスより) Text2.Text = IE.document.getElementById("after").Value '再翻訳のボタンをクリック IE.document.getElementById("re-translation").Click End If If SNo = 3 Then '再変換の結果を受け取る Text3.Text = IE.document.getElementById("reverse").Value End If SNo = SNo + 1 End Sub
Private Sub Form_Unload(Cancel As Integer) If Not (IE Is Nothing) Then If frgClose = False Then IE.Quit End If Set IE = Nothing End If End Sub
Private Sub IE_OnQuit() 'ユーザーがIEを閉じた時の処理 frgClose = True If Not (IE Is Nothing) Then Set IE = Nothing End If End Sub 実行結果の図(画像をクリックすると元のサイズで見る事ができます。)
|