「ファイル名を引数にしてアプリ起動」の版間の差分
ナビゲーションに移動
検索に移動
句点の位置を修正 |
Haijinboys (トーク | 投稿記録) |
||
| (他の1人の利用者による、間の3版が非表示) | |||
| 3行目: | 3行目: | ||
'''使用前にマクロ本体を編集して必ず設定を済ませておくこと'''(起動させる実行ファイルへのパスなど)。 | '''使用前にマクロ本体を編集して必ず設定を済ませておくこと'''(起動させる実行ファイルへのパスなど)。 | ||
== 未完成なところ == | |||
実行ファイルを指定しないでマクロを起動させた場合の終了処理 | 実行ファイルを指定しないでマクロを起動させた場合の終了処理 | ||
<syntaxhighlight lang="javascript"> | == ソースコード == | ||
<syntaxhighlight lang="javascript" copy> | |||
// ----------------------------------------------------------------------------- | // ----------------------------------------------------------------------------- | ||
// ファイル名を引数にしてアプリ起動 改 | // ファイル名を引数にしてアプリ起動 改 | ||
| 23行目: | 25行目: | ||
if (exepath == ""){ | if (exepath == ""){ | ||
alert("起動させる実行ファイルを指定してください"); | alert("起動させる実行ファイルを指定してください"); | ||
} | } | ||
//コマンドラインで渡す文字列を指定。~"+s+"~とやるとsが編集しているファイル名に置き換わります | //コマンドラインで渡す文字列を指定。~"+s+"~とやるとsが編集しているファイル名に置き換わります | ||
//ここを変更する場合36行目のvar cmdline~も変更すること | //ここを変更する場合36行目のvar cmdline~も変更すること | ||
var cmdline = ""+s+"" | var cmdline = ""+s+""; | ||
// ファイル名があれば・・・ | // ファイル名があれば・・・ | ||
if (s != "") { | if (s != "") { | ||
document.Save(); | document.Save(); | ||
var o = new ActiveXObject("WScript.Shell"); | var o = new ActiveXObject("WScript.Shell"); | ||
o.Run("\""+exepath+"\" "+cmdline); | o.Run("\""+exepath+"\" "+cmdline); | ||
}else { | } else { | ||
// ファイル名がなければ・・・ | // ファイル名がなければ・・・ | ||
var s = editor.FullName; | var s = editor.FullName; | ||
var a = s.split("\\"); | var a = s.split("\\"); | ||
a.splice(a.length - 1, a.length); | a.splice(a.length - 1, a.length); | ||
var s = a.join("\\") + "\\" + new Date().getTime() + ".hsp"; | var s = a.join("\\") + "\\" + new Date().getTime() + ".hsp"; | ||
document.Save(s); | document.Save(s); | ||
//コマンドラインを更新 | //コマンドラインを更新 | ||
var cmdline = ""+s+"" | var cmdline = ""+s+""; | ||
var o = new ActiveXObject("WScript.Shell"); | var o = new ActiveXObject("WScript.Shell"); | ||
o.Run("\""+exepath+"\" "+cmdline); | o.Run("\""+exepath+"\" "+cmdline); | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
2025年6月29日 (日) 13:23時点における最新版
編集中の文書のファイル名を引数にして実行ファイルを起動させます。
使用前にマクロ本体を編集して必ず設定を済ませておくこと(起動させる実行ファイルへのパスなど)。
未完成なところ[編集]
実行ファイルを指定しないでマクロを起動させた場合の終了処理
ソースコード[編集]
// -----------------------------------------------------------------------------
// ファイル名を引数にしてアプリ起動 改
// Ver1.0
//
// 原作(?):Copyright (c) Kuro. All Rights Reserved.
// www: https://www.haijin-boys.com/
// 改造:みそ
// www: http://www.symphonic-net.com/misodengaku/
// -----------------------------------------------------------------------------
// 現在のファイル名を取得
var s = document.FullName;
// 起動するEXEファイルへの絶対パス(かな?)を指定(\マークはエスケープする必要があります)
var exepath = "ここに実行ファイルへのパスを記述";
if (exepath == ""){
alert("起動させる実行ファイルを指定してください");
}
//コマンドラインで渡す文字列を指定。~"+s+"~とやるとsが編集しているファイル名に置き換わります
//ここを変更する場合36行目のvar cmdline~も変更すること
var cmdline = ""+s+"";
// ファイル名があれば・・・
if (s != "") {
document.Save();
var o = new ActiveXObject("WScript.Shell");
o.Run("\""+exepath+"\" "+cmdline);
} else {
// ファイル名がなければ・・・
var s = editor.FullName;
var a = s.split("\\");
a.splice(a.length - 1, a.length);
var s = a.join("\\") + "\\" + new Date().getTime() + ".hsp";
document.Save(s);
//コマンドラインを更新
var cmdline = ""+s+"";
var o = new ActiveXObject("WScript.Shell");
o.Run("\""+exepath+"\" "+cmdline);
}
スポンサーリンク