「hmV8」のその他の例題 クリップボード内のファイルリストのペースト概要秀丸マクロとhmV8の例題のひとつとなります。 エキスプローラーなどで、「1つ」または「複数」のファイルをコピーした後 秀丸マクロこの程度のことであれば、強力な.NETであれば、数行で情報を獲得できます。 #JS = loaddll( hidemarudir + @"\hmV8.dll" ); disabledraw; #_ = dllfuncw(#JS, "DoString", R"JS( let LibForms = host.lib("System.Windows.Forms"); let Clipboard = LibForms.System.Windows.Forms.Clipboard; let files = Clipboard.GetFileDropList(); // ファイルコピー属性 if (files.Count > 0) { hm.Macro.Eval("begingroupundo;"); // 順次リストからファイル名を取得して、秀丸へと挿入 for (let f of files) { hm.Macro.Var["$filename"] = f; hm.Macro.Eval( f => { /* insert $filename + "\n"; */ } ); } hm.Macro.Eval("endgroupundo;"); // ファイルコピーの属性ではない } else { // ファイル属性じゃないのであれば、秀丸の本来のペースト機能にゆだねる。 hm.Macro.Eval( "paste;" ); } )JS" ); enabledraw; // 解放 freedll(#JS); 他の応用例えば、特定の拡張子なら、 |