限定的な場所でのみ参照することができるノウハウ集等をHTMLで作成することがある。
この場合、WORDファイルやEXCELファイルは、簡単に開くことができるが、EXEファイル等の実行ファイルを直接実行させることはできない。
(セキュリティの観点上、実行ファイルは、ユーザがダウンロードするか直接実行するか確認するダイアログを出す仕様になっている)
直接、EXEファイルを実行するには、以下のようにVBScriptやWSH(Windows Script Host)を利用すれば良い。

以下、サンプル。
《HTMLファイル》
<HTML>
 <HEAD>
  <SCRIPT Language="VBScript">
  <!-- EXEファイルを実行する -->
  Function RunExe()
   Dim WSHShell
   Set WSHShell = CreateObject ("Wscript.Shell")
   WSHShell.Run "C:\Windows\notepad.exe", 3, True
  End Function

  <!-- EXEファイルにパラメータを指定して実行する -->
  Function RunExeWithParam(FileName)
   Dim WSHShell
   Set WSHShell = CreateObject ("Wscript.Shell")
   WSHShell.Run "C:\Windows\notepad.exe '" & FileName & "'", 3, True
  End Function
  </SCRIPT>
 </HEAD>
 <BODY bgcolor="#ccccc">
  <B>HTMLから他のプログラムを実行する方法</B><BR>
  <HR>
 例1)メモ帳を開く(新規ファイルを開く場合)
  ?<A onClick="RunExe()">WSHを利用する</A><BR>
  ?<A href="D:\note.bat">リンクに指定したBATファイルから起動する</A><BR>
<BR>
 例2)メモ帳を開く(既存ファイルを開く場合)
 <FORM>
  <INPUT type="TextBox" name="FileName" value="ファイルパスを入力して下さい。" size="100"></INPUT><BR>
  <INPUT type="Button" onClick="RunExeWithParam(FileName.value)" name="btnRun" value="WSHを利用する"></INPUT><BR>
 </FORM>
<BR>


《バッチファイル》
1.メモ帳を開く。
2.以下の内容を入力する。
 START notepad.exe
3.ファイルを保存する。
 ファイルの種類を"全てのファイル"にし、ファイル名を"note.bat"とする。
 サンプルでは、Dドライブの直下に保存している前提である。


後は、保存したHTMLファイルを実行して、リンクをクリックすればメモ帳が起動する。
この技術を応用して、特定のプログラムを実行することができる。

【HTML】HTMLファイルから他のプログラムを実行する方法
・リンクに指定したBATファイルを起動する方法では、引数を自由に指定することはできない。
 (サーバとの通信であれば、URL?xxxxxという具合に引数を指定できる。
  単純リンクの場合には、引数を指定してプログラムを実行することはできない)
・WSHを利用する場合には、セキュリティの関係上、ユーザが実行することを許可しなければできない。
 (ユーザが許可しない場合、スクリプトは動作しない)
・セキュリティを意識するのであれば、別の方法を検討する必要がある。