マクロ・サンプル集
■WZ EDITOR 4.0用−1
提供者:中村 友次郎さん(yujiro@impress.co.jp)
環 境:WZ
EDITOR
4.0用
まず、ヘルプにある秀丸マクロをそのままWZに訳したものです。
<--------------------ここから
#include
"windows.h"
#define DDWIN_PATH "e:\\ddwin\\ddwin.exe"
#define DIC_GROUP
"辞書"
void main(TX* text)
{
txstr szWord,szCommandLine;
//変数の宣言
txGetWordWhole(text,szWord);
//szWordに検索単語を取得
sprintf(szCommandLine,"\"%s\"
\,1\,%s\,%d\,%s",
DDWIN_PATH,DIC_GROUP,1,szWord);
//コマンドライン引数を組み立てる
WinExec(szCommandLine,SW_SHOWNA);
//実行
}
<--------------------ここまで
見ていただければ分かるように、WZのマクロというのは、まんまC言語です。
txGetWordWholeという独自関数が、秀丸版の最初の3行に相当します。
(選択されていたらそれを拾う、でなければカーソル位置の単語を拾う)
その後、sprintfでコマンドライン引数を組み立てて、Windows
APIのWinExec
を使用してDDwinを立ち上げます。
■WZ EDITOR 4.0用−2
提供者:中村 友次郎(yujiro@impress.co.jp)さん
環境:WZ
EDITOR
4.0用
次は、ちょっと凝ってみました。DDwinの特徴である「辞書のグループ分け」
を活かすようにしています。
起動するとカーソル位置に辞書グループ名がメニューが表示されます。
選択すると、DDwinを起動し、そのグループで串刺し検索します。
ユーザーは、マクロ先頭の「ユーザー設定部分」の、
1行めにDDwinの実行ファイルのパス(""を付けて)
2行めにメニューに表示したい辞書グループをこの書き方で
3行めにグループ数を
記述して設定を行うようになっています。
<------------------ここから
//ユーザー設定部分
#define
DDWIN_PATH "C:\\Program Files\\DDwin\\DDwin.exe"
#define DIC_GROUP
{"国語","英語","すべて"}
#define MAXGROUP 3
#include "windows.h"
#define
MENUID 100
void main(TX* text)
{
//検索単語の取得
txstr
szWord,szCommandLine;
txstr szGroup[MAXGROUP] =
DIC_GROUP;
txGetWordWhole(text,szWord);
//辞書グループメニューの作成
HMENU hmenu
= menuNew();
int i;
for(i = 0;i<=MAXGROUP -
1;i++){
menuStr(hmenu,szGroup[i],MENUID +
i);
}
//メニューの表示、キャンセルされなければ検索の実行
int nGroup;
if(nGroup =
txHmenuSelect(text,hmenu)){
sprintf(szCommandLine,"\"%s\"
\,1\,%s\,\,%s",
DDWIN_PATH,szGroup[nGroup -
MENUID],szWord);
WinExec(szCommandLine,SW_SHOWNA);
}
}
<--------------------ここまで
■Dana用
提供者:ハイパー定家さん
環境:Dana用
Dana Script
は、しょごさん(shogo@sainet.or.jp)の作成によるもので、ご本
人の承諾をいただいております。
またDanaは http://www.rimarts.co.jp/index-j.html にあります。
Declare
Function FindWindow Lib "user32" Alias "FindWindowA"
(lpClassName$,lpWindowName$)
Declare Proc SetForegroundWindow Lib "user32"
(hwnd%)
Declare Proc ShowWindow Lib "user32" (hwnd%,nCmdShow%)
Main
()
Shell("D:\ddwin\ddwin.exe
,1,Regular,,"+GetSelected())
ShowWindow(FindWindow("TApplication","DDWin -
Regular"),1)
SetForegroundWindow(FindWindow("TDDWin","DDWin -
Regular"))
End
「D:\ddwin\ddwin.exe」の部分は、ご自分の DDwin
のパスを指定してください。
また「Regular」は、私の辞書グループ名で、これまたご自分の辞書グループ名
を指定してください。