HTAで表示画面を切り替える

検索してみたら

<hta:application
    applicationname="aaa"
    singleinstance="yes"
>

で複数起動を禁止にして、location.replaceなどで外部ファイルなりリンクを読み込むとか。
あと、document.writeを使って書き換えるとか、結構面倒な感じだった。
しかし、CSSのdisplayを使えばもっと簡単に出来ることがわかった。
というか気が付いた。


divなどを使ってグループ分けして、でdisplayを使って表示させるものをblock
表示させないものをnoneにすればいいだけ。


blockの他にもtableやinlineなどもあるようだけれど、よくわからんのでパス。
込み入ったものは外部htmlにして、iframeで読み込むとか。
ローカルファイルであればiframe内の値は、iframeのidかnameが"ff"だとしたら

ff.document.getElementsByTagName("textarea")

など、頭にid名かname名を付ければ参照が出来るみたい。


ということで、クリップボードのテキストを簡単に保存出来る気がするHTAを書いてみた。
テキストエリアにクリップボードのテキストが表示される。

  • ファイル名を入力して保存ボタンで保存。
  • ファイル名がない場合は年月日時分秒をファイル名にして保存。
  • 履歴ボタンでクリップボードの履歴表示に切り替え。
  • 停止ボタンで監視を一時停止。


保存場所は99行目にある変数名cdのパスで、デフォルトでは
この↓htaがあるディレクトリにmemo_fileというフォルダを作って保存している。
パスを変更する場合は99行目を書き換えればいいけれど、C:\\aaa\\\bbbという具合に\が二つ必要。

3月10日修正
 クリップボードがnullの状態で起動させるとエラーになってた。