SendKeysでShiftキーを押さないと打てない文字を打つ

WSHなど、wscript.shellのsendkeysで文字列を打ち込む時
shiftキーを押さないと打てない文字、'('や'>'などは

//aa(bb)ccを打つ場合
new ActiveXObject('wscript.shell').sendkeys('aa{(}bb{)}cc');

のように'{}'で囲めば打てるようになる。
fromCharCodeなどでコードを指定しても打てるけど
'{}'で囲んだ方が簡単。


だから打ち込む文字列の単語構成文字以外を
正規表現を使って'{}'で囲めばいい。

var str = 'aaa(bb)ccc<dd>';

//aaa{(}bb{)}ccc{<}dd{>}に置換
str = str.replace(/\W/g, '{$&}');

\Wが単語構成文字以外'[^a-zA-Z_0-9]'と同じで
$&はマッチした文字全てだと。