WSHで,Sendkeysメソッドで日本語を文字化けせず自動入力する方法 (VBScript+JScriptの両方で可能。clipコマンドを使用)
WSHのSendkeysメソッドで,日本語の文字列を, 文字化けせずに正確に自動入力する方法。
まず,Windows Vista以降であれば,コマンドプロンプトでclipコマンドを使える。
echo ほげ| clip
↑これで,クリップボードに日本語のテキストが格納される。
あとは,CTRL+Vでペーストすればよい。
WSHで使ってみよう
この処理をWSHで記述してみよう。
var sh = WScript.CreateObject("WScript.Shell"); // 文字列をクリップボードに格納 sh.Run( "cmd.exe /c echo 格納したい文字列| clip", 0, true ); // ペースト sh.SendKeys( "^v" );
これでOK。
このテクニックは,Windows7やWindows8でも使える。
ちなみにWindows XPにはclipコマンドはない。フリーソフトで探せばあるけどね。
clipコマンドの使い方:
@IT:Windows TIPS -- Tips:コマンドラインからクリップボードへコピーす
る
http://www.atmarkit.co.jp/fwin2k/win2...
- clipコマンドを使うことにより、ファイルを経由したり、コピー&ペースト操作をしたりせずとも、直接クリップボードへテキスト・データをコピーすることができる。Windows Server 2003には、コマンドライン・ツールとして、clip.exeが用意されている
Windows - コマンドプロンプトで標準出力結果などをクリップボードにコピーするコマンド - Qiita
http://qiita.com/opengl-8080/items/a5...
- リダイレクトを使ってファイルの内容をクリップボードにコピー。clip < hoge.txt
今更だけどコマンドプロンプト3つのTips | 蒼の王座・裏口
http://sqlazure.jp/r/tool/126/
- Windows Vista以降に搭載れている機能
Window7、文字列をクリップボードにコピーするバッチファイルを作る|マコトのおもちゃ箱 〜ぼへぼへ自営業者の技術メモ〜
http://piyopiyocs.blog115.fc2.com/blo...
- SET /P<NUL="ほげほげ"|clip WindowsXP以前ではそもそも「clip」コマンドが使えない
Blogs - フィールドSEあがりの安納です - Site Home - TechNet Blogs
http://blogs.technet.com/b/junichia/a...
- echo "ほげほげ" | clip.exe これで「ほげほげ」という文字列がクリップボードにコピーされたので、^v を使ってペーストすればよい
WScript#Runの使い方:
Windows管理者のためのWindows Script Host入門:第5回 WshShellオブジェクトの詳細(1) (2/4) - @IT
http://www.atmarkit.co.jp/ait/article...
- Runメソッドの第2パラメータを指定することで、実行するウィンドウの状態を制御できる。
- 0: ウィンドウを非表示にし、別のウィンドウをアクティブにする
- Runメソッドの第3パラメータでは、起動したプログラムの終了を待つかどうかを指定