2011年5月16日月曜日

OpenOffice > Basic > Googleの発音サービスを利用

OpenOfficeのcalcを使用して英単語を管理しています。発音を調べる際には、google翻訳のサイトに単語を貼りつけてチェックしていたのですが、面倒くさいのでOpenOfficeから直接googleのサービスを利用するようにしました。

1. メニュー ツール→マクロ→マクロの管理→OpenOffice.org Basic を選択
2. マクロの記録先のエリアで マイマクロ→Standard を選択し、新規作成ボタンを押す
3. マクロの編集画面が開くので以下のスクリプトを貼り付け、保存し、閉じる

Sub PronounceEn
Dim manager As Object
Dim player As Object
Dim url As String
Dim words As String
Dim column As Integer
Dim row As Integer
Dim controller As Object

controller = ThisComponent.CurrentController
column = controller.getSelection().RangeAddress.StartColumn
row = controller.getSelection().RangeAddress.StartRow
words = controller.ActiveSheet.getCellByPosition(column, row).string

If words = "" Then
Exit Sub
End If

url = "http://translate.google.com/translate_tts?tl=en&q=" + words
manager = CreateUnoService("com.sun.star.media.Manager_DirectX")
player =  manager.createPlayer(ConvertToURL(url))
player.start()
While player.MediaTime < player.StopTime
Wait 100
WEnd
End Sub

4. メニュー ツール→カスタマイズ ツールバータブの追加ボタンを押して”範囲”の中から上記マクロを選択
5. 英単語が入力されているセルを選択して、先ほど作成したツールバーのボタンを押すと、発音が再生される

中国語の再生もやってみましたが、単語がUTF-8でURLエンコードされないようでうまくいきませんでした。Javaやpythonを使って試してみたいと思います。

OpenOfficeを侮っていましたが、いろいろできるみたいですね。Oralceが放出を決めたらしいですし、LibreOfficeの動向もあり、ちゃんと維持されていくのか心配です。

0 件のコメント:

コメントを投稿