新規投稿
フォローする

javascriptについて

Kintoneをきっかけに指定ファイルを開いたり、バッチファイルを実行する方法をご存じの方がいましたら、ご教示願います。

例1 (自作のHTMLファイル)
<html>
<head>
<script type="text/javascript">
function ExecBat() {
var WshShell = new ActiveXObject("WScript.Shell");
WshShell.run("D:\SQLServer\start.bat");
}
</script>
</head>
<body>
<button onclick="ExecBat()">バッチファイル実行</button>
</body>
</html>

例2 Kintoneに読み込ませているjsファイル
(function () {
kintone.events.on('app.record.detail.show', function (event) {
window.alert('レコード');
var WshShell = new ActiveXObject("WScript.Shell");
WshShell.run("D:\SQLServer\start.bat");
});
})();

例1をデスクトップから開いて実行すると指定のバッチファイルが起動されるのですが、例2では詳細画面に遷移しても指定のバッチファイルが起動しません。(「レコード」の文字表示は問題なく実行されます。)

よろしくお願いします。

0

4件のコメント

Avatar
新妻正夫

kintoneというより、IE(ですよね?)のセキュリティ設定じゃないでしょうか。インターネットごしにローカルのプログラムを実行させるには、今時のIEだといろいろ面倒だったような記憶が。

0
Avatar
吉岡 三四郎

ご回答いただきありがとうございます。

Kintoneで登録したデータを自PCのエクセルに出力しようとしていたのですが…
ほかに何かいい方法がないか模索してみます。

ご教示いただき本当にありがとうございました

0
Avatar
山口 高志

URLスキームを使ってブラウザーから無理矢理スクリプトを起動することは可能です。
弊社では顧客リストから、顧客毎のフォルダを表示するときに使っています。

たとえば
kokyaku://0000
みたいなリンクをクリックすると、ローカルで0000の顧客フォルダが開く といった動作になります。

各端末のレジストリに設定を入れないと動きませんが

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\kokyaku]
@="kokyaku: 顧客フォルダOPEN URLスキーム"
"URL Protocol"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\kokyaku\DefaultIcon]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\kokyaku\shell]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\kokyaku\shell\open]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\kokyaku\shell\open\command]
@="WScript \"C:\動かしたいスクリプト.vbs\" \"%1\""

上記の様に設定すれば、
kokyaku: というURLに反応してプログラムが起動できると思います。

参考ページ
http://garafu.blogspot.jp/2014/02/url.html

URLスキームが設定されている端末以外では
クリックしても特に動作は起こらないので、セキュリティのリスクは無いと思います。
ただ、ブラウザから外部プログラムを起動できるのはどうかと問われると困りますが・・・

参考になれば幸いです。

0
Avatar
吉岡 三四郎

ご回答頂きありがとうございます。

ご教示頂いた方法を参考にさせていただきます。
URLスキーム・・・・初めて知りました・・・・

0
サインインしてコメントを残してください。