最終更新日 2026-05-01

HmDeepSeekWeb を外部マクロから呼び出す

概要

質問内容について、外部マクロから呼び出すことで、定型的にAIを利用するマクロを組むことができます。

以下のマクロファイルを作成し、HmDeepSeekWeb.mac と同じフォルダに入れてください。

test1.mac

jsmode @"WebView2\HmDeepSeekWeb";
js {

function onRequestQuestionText() {
    return "1+1は?";
}

hidemaru.postExecMacroFile( currentmacrodirectory() + "\\HmDeepSeekWeb.mac" );

} // js

外部マクロからHmDeepSeekWebを呼び出し、AIに質問を行っている秀丸エディタの画面

jsmode は "WebView2\HmDeepSeekWeb"

HmDeepSeekWebと同じ実行空間で走らせます。

onRequestQuestionText() という関数を定義し、質問内容を返す

onRequestQuestionText() を定義して、最終的に質問内容を返すと、
そのままDeepSeekへの問い合わせ内容となります。

HmDeepSeekWebへと処理を移す

currentmacrodirectory() + "\\HmDeepSeekWeb.mac"

の「フルパス指定の部分を適切に修正」できるなら、
「test1.mac」と「HmDeepSeekWeb.mac」を同じフォルダに配置する必要はありません

メニューから選ぶなどいろいろと応用がきく

test2.mac
jsmode @"WebView2\HmDeepSeekWeb";
 
js {
 
function onRequestQuestionText() {
 
    const list = ["50文字", "200文字", "1000文字"];
 
    const selectID = menuarray(list);
 
    // 何か選択した
    if (selectID > 0) {
        const selectIX = selectID-1; // 1始まり→0始まり
        const item = list[selectIX];
 
        return "以下の文章を" + item + "程度の文章にしてくださ。\n\n###\n\n" + getselectedtext();
    }
}

hidemaru.postExecMacroFile( currentmacrodirectory() + "\\HmDeepSeekWeb.mac" );

} // js

AIへの指示内容をメニューから選択している様子

選択した指示に基づき、AIからの回答が個別ブラウザ枠に表示された結果

「質問内容」を「マクロの引数」として渡せるようにできますか?

将来の互換性のため、HmDeepSeekWeb.mac 本体には、そのような機能を持たせていません。

以下のような「間をとりもつマクロ」を作成し、HmDeepSeekWeb.mac と同じフォルダに配置するとよいでしょう。

HmDeepSeekWebArg.macの作成

HmDeepSeekWebArg.mac (HmDeepSeekWeb.macと同じフォルダに配置)
jsmode @"WebView2\HmDeepSeekWeb";
js {

var _myQuestionTextCache = getarg(0);

function onRequestQuestionText() {
    return _myQuestionTextCache;
}

hidemaru.postExecMacroFile( currentmacrodirectory() + "\\HmDeepSeekWeb.mac" );

} // js

外部マクロからは、この「HmDeepSeekWebArg.mac」を呼び出すようにする

test4.mac
execmacro currentmacrodirectory + "\\HmDeepSeekWebArg.mac", "execmacro currentmacrodirectory + "\\HmDeepSeekWebArg.mac", "OpenAIとDeepSeekを比較してください。";

引数を指定してHmDeepSeekWebを呼び出した際の動作結果