« スクリプトでクリップボードからテキストを取り出す。 | トップページ | ごみ箱の総ファイルサイズを表示する。 »

2010年4月26日 (月)

スクリプトでクリップボードにテキストを設定する。

スクリプトからクリップボードを使うときは、IEを利用するのが普通ですが、clipboardDataを使う方法はインターネットゾーン(about:blank)のセキュリティレベルに依存します。
ExecWBを使う方法は、インターネットゾーンのセキュリティレベルに依存しませんが、innerTextにテキストを代入すると、

Set ie=CreateObject("InternetExplorer.Application")
ie.Navigate "about:blank"
Do While ie.Busy Or ie.ReadyState<>4
  WScript.Sleep 100
Loop
ie.Document.body.innerText="a b"
ie.ExecWB 17,0
ie.ExecWB 12,0
ie.Quit

この方法はタブが空白に変換されます。そこで、textareaを使って、

Set ie=CreateObject("InternetExplorer.Application")
ie.Navigate "about:blank"
Do While ie.Busy Or ie.ReadyState<>4
  WScript.Sleep 100
Loop
ie.Document.body.innerHTML="<textarea id=txt></textarea>"
ie.Document.all.txt.value="a b"
ie.ExecWB 17,0
ie.ExecWB 12,0
ie.Quit

とすれば、タブが保存されます。

« スクリプトでクリップボードからテキストを取り出す。 | トップページ | ごみ箱の総ファイルサイズを表示する。 »