hta TIPS & メモ

[hta\(HTML Applications)](https://msdn.microsoft.com/ja-jp/library/ms536496%28v=vs.85%29.aspx)を調査た時のメモ。サンプルソースはコピーして拡張子 .hta で保存してください。
注意：htaはHTMLで記述されていますが、名前が示す通りアプリケーションとして動かす事が出来ます。問題が出ないよう注意を払って作成したつもりですがOS、IEのバージョンの違いにより作者が意図しない動きをする可能性があります。エラー処理等も入れていないのでソースを読んで理解出来ない方は実行を控えてください、スクリプト実行により何か問題が発生しても自己責任でお願いします。問題があるスクリプトを発見された方は連絡頂けると助かります。
ここに記載されたスクリプト類は、Windows7(64bit) IE11 で動作確認しています。

#VBscriptでOnClick
イベントに応じてスクリプトを実行する方法がVBScriptでは色々な書き方ができるようなのでまとめてみた。

```hta:vb_sample.hta
<html>
<head>
 <title>VBscriptでOnClick</title>
</title>
<body>
  <input type="button" name="button1" value="ボタン１">sub button1_onClick</br>
  <input type="button" name="button2" value="ボタン２" onClick="button2()">onClick="button2()"</br>
  <input type="button" name="button3" value="ボタン３" onClick="VBScript:button3">onClick="VBScript:button3"</br>
  <input type="button" name="button4" value="ボタン４">&ltSCRIPT FOR="button4"...</br>
  <SCRIPT FOR="button4" EVENT="onClick" LANGUAGE="VBScript">
    MsgBox "ボタン４"
  </SCRIPT>

<script language="VBScript">
  sub button1_onClick
    MsgBox "ボタン１"
  End sub

  sub button2
    MsgBox "ボタン２"
  End Sub

  sub button3
    MsgBox "ボタン３"
  End Sub

</script>
</body>
</html>
```

#画像をhtaに組み込む
htaを1ファイルで提供したいが画像等も組み込んで見た目を整えたい場合、画像ファイルをhtmlファイルに含める事が出来ます。これは、htaに限ったTIPSでは無くhtmlでも同様のことが実現できます。なので、次のサンプルはhtmlで保存しても画像が表示されます。

     方法：
     <img src="data:コンテンツタイプ;base64,base64でエンコードされた画像ファイルの文字列>
     コンテンツタイプは画像ファイルの種類によりpng画像(image/png),jpeg画像(image/jpeg)を設定する。
     画像が png画像でbase64でエンコードした文字列が"iVBORw・・（省略）・・gg=="の場合
     <img src="data:image/png;base64,iVBORw・・（省略）・・gg==">
     となる
![sample.png](https://qiita-image-store.s3.amazonaws.com/0/54159/cbeac8f2-e964-fcb4-162d-8af70e3d0759.png)この画像をbase64でエンコードして組み込んだサンプル

```html:sample_img.html
<html>
<head><title>画像埋め込みのサンプル</title></head>
<body>
 <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAIAAACRuyQOAAAABnRSTlMAAAAAAABupgeRAAAA30lEQVR42uWWWQqAMAxE0/sfugoBic02aVUK5kPQDnldxqSt906fRPsbqTVK54Fo9iOdTw6thDF30pVxiMVFQ2uKc1UwW5G8jEWMRRpOix1hkqSmTNJJTePxR2klAHb3Hngk8auTCiPFYIQ9Q0IMkpD0AcyRnBlbLtf2S0lEUdFySe/Ev0jZvo8yGagjzFwsS/8EX1DZvasxTlX3YndfaCLL9whY+QQJM4XVn6plm6DLTJFEUIkzR7NOGMCKjgdI03voktZ7brixftdA1qpH5bU3J0keB1ixQv0OtfzpOAA1ihzKRC0hlQAAAABJRU5ErkJggg==">
</body>
</html>
```


##base64変換手順：画像ファイルをBase64でエンコードする

###Windows certutilコマンドを使う方法(c:\windows\system32\certutil.exe)

     >certutil -f -encode sample.png sample.base64.txt
     >notepad sample.base64.txt
     -----BEGIN CERTIFICATE-----
     iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAIAAACRuyQOAAAABnRSTlMAAAAAAABu
     pgeRAAAA30lEQVR42uWWWQqAMAxE0/sfugoBic02aVUK5kPQDnldxqSt906fRPsb
     qTVK54Fo9iOdTw6thDF30pVxiMVFQ2uKc1UwW5G8jEWMRRpOix1hkqSmTNJJTePx
     R2klAHb3Hngk8auTCiPFYIQ9Q0IMkpD0AcyRnBlbLtf2S0lEUdFySe/Ev0jZvo8y
     GagjzFwsS/8EX1DZvasxTlX3YndfaCLL9whY+QQJM4XVn6plm6DLTJFEUIkzR7NO
     GMCKjgdI03voktZ7brixftdA1qpH5bU3J0keB1ixQv0OtfzpOAA1ihzKRC0hlQAA
     AABJRU5ErkJggg==
     -----END CERTIFICATE-----
     
     最初と最後の行を削除し、1行の文字列にし、src= に記述します。
     CertUtil: -? でコマンドヘルプが出ます。

###linux base64コマンドを使う

     $ base64 sample.png > sample.base64.txt
     $ cat sample.base64.txt
     iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAIAAACRuyQOAAAABnRSTlMAAAAAAABupgeRAAAA30lE
     QVR42uWWWQqAMAxE0/sfugoBic02aVUK5kPQDnldxqSt906fRPsbqTVK54Fo9iOdTw6thDF30pVx
     iMVFQ2uKc1UwW5G8jEWMRRpOix1hkqSmTNJJTePxR2klAHb3Hngk8auTCiPFYIQ9Q0IMkpD0AcyR
     nBlbLtf2S0lEUdFySe/Ev0jZvo8yGagjzFwsS/8EX1DZvasxTlX3YndfaCLL9whY+QQJM4XVn6pl
     m6DLTJFEUIkzR7NOGMCKjgdI03voktZ7brixftdA1qpH5bU3J0keB1ixQv0OtfzpOAA1ihzKRC0h
     lQAAAABJRU5ErkJggg==
     
     途中改行を削除しSRCに設定する。
     base64 --help でコマンドヘルプが出ます。

###ネットのサービスを使う
画像 base64で検索すると、変換サイトが表示されます。適当なサイトを選んで画像ファイルをuploadするとbase64を表示してくれます。ファイルサイズの制限などサービス提供先の制限を確認して実行してください。仕事で使う場合は前述のコマンドでbase64を作成した方が問題が発生する可能性が低いです。

##注意
・IE 9以降 (4GBまで)
・IE 8 (32KBまで)
・IE 7 は未対応
の制限があるようです。（未確認）
htmlで利用する場合もブラウザにより制限があるらしいです。上記サンプルhtmlは
*fireFox(38.0.5)
*Chrome(43.0.2357.81 m)
*IE(11.0.9600.17801)
では画像が表示されています。(2015/6/8最新)

#JQueryのBlockUIを使わずに、しばらくお待ちください画面を作る
htaでもJQuerは使えるが、外部ファイルにするとhtaファイルのみで動かなくなる。ソースに取り込むとソースが読み難くなる。
”しばらくお待ちください”を出す為だけにJQueryを取り込みたくないので display:none/block（表示）を切り替えてそれっぽくするサンプル。ポイントは、
CSSのrgba()関数で背景色を半透明にするのと、positionで表示位置を指定するところかな
このサンプルでは、背景のinputエリアに細工していないので、タブ移動で後ろに隠れているボタンにフォーカスが移動する。動作を抑止したい場合はも少しjavascriptを追加する必要がある。

```hta:samplw_wait.hta
<html>
  <head>
    <title>実行中　wait画面のサンプル</title>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" Content="IE=edge">
    <style type="text/css">
    #waitTAG {
     position:absolute;
     left:8px; 
     top:8px;
     width:550px;
     height:150px;
     background-color:rgba(220,220,220,0.5);
     z-index:1;
     margin:0px;border:0px;
     display: none;
    }
    #waitBox {
     position:absolute;
     left:150px; 
     top:10px;
     width:200px;
     height:100px;
     background-color: white;
     text-align:center;
     z-index:2;
     border:5px solid #808080;
     padding: 20px 0 0 0;
    }
  </style>

  </head>
  <body onLoad="initLoad();">
  <!-- MAIN FORM -->
  <form id="form1">
     入力ファイル：<input type="file" ><br>
     出力ファイル：<input type="text" ><br>
     <input type=button value="実行中画面表示" onClick="showWait();">
  </form>
  <!-- MAIN FORM END -->

  <!-- WAIT DISPLAY -->
  <!-- 変換実行時のメッセージ dhisplay:none ⇒ display: で切り替える -->
  <div id="waitTAG">
    <div id="waitBox" >しばらくお待ちください...<br>
      <img src="data:image/gif;base64,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"/>
      <br><input type=button value="wait解除" onClick="closeWait();">
    </div>
  </div>

  <!-- 以下　プログラム -->   
  <script type="text/javascript">
  /* ------------------------------------------------------------
   * 起動時に画面サイズを 600 300にリサイズし画面中央に表示する
   * ------------------------------------------------------------ */
  function initLoad(){
    /// <summary>起動時に画面サイズを 600 300にリサイズし画面中央に表示する。</summary>

    var myWidth =600;  //画面横幅
    var myHeight=300;  //画面高さ
    
    // ウィンドウリサイズ
    window.resizeTo(myWidth,myHeight);
    // ウィンドウを中央に移動
    window.moveTo(
      (window.screen.width - myWidth )/2,
      (window.screen.height - myHeight ) /2
    );
  } /* End initLoad() */

  /* ------------------------------------------------------------
   * しばらくお待ちください画面表示
   * ------------------------------------------------------------ */
  function showWait() {
    var elementx = document.getElementById("waitTAG"); 
    elementx.style.display = 'block'; 
    for( var i=0;i<10000;i++){
    	//dummy 
    }
  }; // ** showWait END **

  /* ------------------------------------------------------------
   * しばらくお待ちください画面消去
   * ------------------------------------------------------------ */
  function closeWait() {
    var element = document.getElementById("waitTAG"); 
    element.style.display = 'none'; 
  }; // ** closeWait END **

  </script>
  </body>
</html>
```


#htaの将来性
[htaを利用されてい方のブログ](http://0mg.hatenadiary.jp/entry/2013/09/06/181546)によると、[IE10以降 hta:applicationタグがサポート外](https://connect.microsoft.com/IE/feedback/details/785055/hta-application-tag-does-not-work-in-ie10)になるなどhtaは使えなくなっていく可能性が高い。一方でhtaを動かすスクリプトエンジン(mshta.exe)はIE11と共にバージョンUPされているようなのでWindows8\(正確にはIE11?\)までは利用可能だが、windows10の新しいブラウザ「Microsoft Edge」ではActiveX非サポートのアナウンスがされているので将来的には消えていく運命ではないでしょうか。
Windows 10 Insider Preview (x64) - ビルド 10130　で確認したところ、IE11が使え、mshta.exeは存在する。前述のVBscriptでonclickサンプルhtaは動作した。windows10まではhtaでのツール提供は出来ると思われる。
![MShta.png](https://qiita-image-store.s3.amazonaws.com/0/54159/55ba06b0-8118-1921-9173-9a788be179f7.png)