足るログ

片言語学力で海外生活中

IEのセキュリティ設定が出来なくてもVBScriptでクリップボードに文字を入れる

f:id:zakk310:20170418232244j:plain
データのコピペだけど、クリップボードを経由せずに処理する方法が思いつかず、クリップボードに文字を入れて貼り付けを処理しようとGoogleで検索してみた。

大体がIE機能を使うものが、この場合IEのセキュリティ設定を変更する必要があったりする。これではワタシの現在の環境ではセキュリティの設定がグレーアウトしており設定変更できないので別な方法を模索していたら、これが見つかりました。

d.hatena.ne.jp

var なのでJavascriptかと思うけど、VBScriptそのまま使えないので書き換えてます。
テキストファイルに以下をコピペして保存後に、拡張子をtxtからvbsに変えれば完了です。

Const OLECMDID_COPY = 12
Const OLECMDID_SELECTALL = 17
Dim objIE, contents
Set objIE = WScript.createObject("InternetExplorer.Application")
 
contents = "Copyクリップボード"
 
With objIE
    .navigate("about:blank")        
    .document.body.innerText = contents
    .execWB OLECMDID_SELECTALL, 0
    .execWB OLECMDID_COPY, 0
    .quit()
End with


実行すると見た目は何も分からないが、右クリックで「貼り付け」をすると ”Copyクリップボード”の文字が無事貼りつきました。
VBScriptPythonをちょっとしか知らないので、エンジニアの方たちは同じ処理をもっと効率良い方法があるだろうと思うと気になるところです。