2012年8月10日金曜日

Google Translateで翻訳 + FileMaker

カスタム関数「Navigate_CreateObject 」を変更
Navigate_Create ( url ; visible )
名前を短縮して"visible"を追加。

例:
Navigate_Create ( http://translate.google.co.jp/#ja/en/ ; 0 )
visible=
表 示 : true
非表示 : false
表 示 : 1
非表示 : 0


要プラグイン
ScriptMakerMS
https://sites.google.com/site/scriptmakerms/scriptmakerms 

要カスタム関数
WFM.fp7(ファイル内)
https://sites.google.com/site/scriptmakerms/scriptmakerms/web-scraping 

動作環境
OS:Xp , 7
FileMaker 11

スクリプト名:GoogleTranslate(source)
{

変数を設定 [$source; 値:Get(スクリプト引数)]
レイアウト切り替え [「GoogleTranslate」 (GoogleTranslate)]
#Internet Explorerを探す
変数を設定 [$er; 値:Set_ie]
#Internet Explorerがない、または、Google Translateが開いていない場合、Google Translateへ移動
If [IsEmpty ( $er ) or PatternCount ( $er ; "http://translate.google.co.jp/#ja/en/" ) = 0]
変数を設定 [$er; 値:Navigate_Create ( "http://translate.google.co.jp/#ja/en/" ; 1)]
End If
変数を設定 [$er; 値:Wait4ie]
#結果の文字列をカラにする
変数を設定 [$er; 値:SetinnerTextById("result_box" ; "" )]
#翻訳したい文字を入力
変数を設定 [$er; 値:SetinnerTextById("source"; $source )]
#[翻訳ボタン]をクリック //通常は要らない
変数を設定 [$er; 値:ClickById("gt-submit") //[翻訳ボタン]をクリック //通常は要らない]
スクリプト一時停止/続行 [間隔(秒): 1]
#結果を取得
変数を設定 [$Result; 値:GetById ( "result_box"    ; "innerText" )]
変数を設定 [$n; 値:1]
Loop
Exit Loop If [ not IsEmpty ( $Result ) or $n>10]
変数を設定 [$Result; 値:GetById ( "result_box"    ; "innerText" )]
スクリプト一時停止/続行 [間隔(秒): 1]
変数を設定 [$n; 値:$n+1]
End Loop
フィールド設定 [GoogleTranslate::result_box; $Result]
現在のスクリプト終了 [結果: $Result]
}

変数を設定 [$er; 値:Navigate_Create ( "http://translate.google.co.jp/#ja/en/" ; 1)]
この部分のを
変数を設定 [$er; 値:Navigate_Create ( "http://translate.google.co.jp/#ja/en/" ; 0)] 
にするとInternet Explorerが表示されないのでFileMakerで翻訳をしているように見せかける事が出来ます。

Internet Explorerを隠している場合は、バックグラウンドで開きっぱなしになるので
iiil_Exe("ie.Quit();")
で終了する必要があります。

0 件のコメント:

コメントを投稿