PASORAMAで一括検索と成句検索を振り分けるAHKスクリプトの例

2015年12月01日

前回の記事で、PASORAMAの成句検索は末尾のスペースで結果を少し絞り込めることがある、という話をしましたが、そのへんを加味したAHK(AutoHotkey)スクリプトを試しに作ってみましたのでご紹介します。

エディタやWord等で語句を選択してホットキーを押すと、その語句をPASORAMAで検索できる、という、よくあるタイプのAHKスクリプトですが、

  • 選択内容が単語1つの場合は、その単語をそのまま「一括検索」
  • 選択内容が複数の単語の場合は、末尾にスペースを加えて「成句検索」

という形で、検索先を振り分けるようになっています。

ホットキーはとりあえず「Ctrl+Shift+P」にしてありますので、適宜変更してください。あるいは、一括検索と成句検索でホットキーを別々にしてもよいかもしれませんね(少々修正が必要ですが)。

※ちなみに、PASORAMAで成句・熟語・連語の類を調べるときには、「一括検索」「例文検索」「成句検索」のどこで目的の情報が見つかるかは、辞書によってまちまちなので、いちおう全部切り替えてみるほうが確実です。(たとえば、海野さんの辞書は、成句も一括検索の所に入っています)。

前回もご紹介しましたが、拙作の「キーボードヘルパー for PASORAMA」を使うと、この3つのモードをショートカットキーで簡単に切り替えられますので、よろしければ あわせてお試しください。

スクリプトは、Win7 64bit上の PASORAMA for DF-X10001用 でのみ動作を確認しました。X9001やX10000あたりでも動きそうな気はしますが、他は修正が必要かもしれません。

+^p::
    clipbkup := Clipboard
    Clipboard := ""
    Send, ^c
    ClipWait, 1
    if (ErrorLevel) {
        Clipboard := clipbkup
        Return
    }

    Clipboard := Trim(Clipboard)
    if (InStr(Clipboard, " ")) {
        btn := "Button21"
        Clipboard := Clipboard . " "
    } else {
        btn := "Button19"
    }

    if (WinExist("PASORAMA", "接続(&F)")) {
        WinActivate
        ControlClick, Edit1
        Send, {Home}+{End}{Del}
        Sleep, 200

        ControlGetPos, x, y, w, h, %btn%
        x := x + w/2
        y := y + h/2
        Click, %x%, %y%
        Sleep, 200

        ControlClick, Edit1
        Send, ^v
        Sleep, 200
    }

    Clipboard := clipbkup
    Return
posted by 内山卓則 at 21:35 | かんざし・ツール