ipメッセンジャーとvbscriptについての質問です。

社内の任意の人相手に、自動でメッセージを飛ばそうとしています。

下記内容で動かないのですが、どこかおかしいところはありますでしょうか。
ipmsgのパスとホスト名は間違いないはずです。

msg = "テスト。これが届いたら返信してください";
var member = new Array();

member = ['ipmsg記載のホスト名',
'ipmsg記載のホスト名'];

WshShell = new ActiveXObject("WScript.Shell");

for (var i in member)
{
// IPmsgを起動しメンバーに対してメッセージを送信する
ipmsg = "c:/program files/IPMsg/ipmsg.exe /MSG " + member[i] + " " + msg;
WshShell.Exec(ipmsg);
}

元ネタはこちら
http://d.hatena.ne.jp/Chisei/20101212/p1

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/09/21 10:35:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント67pt

まずは
c:/program files/IPMsg/ipmsg.exe /MSG
が ちゃんと動くか確認したらいいですね。

id:taknt

ちなみに OSが 64ビットとかだと program filesが 変わってきます。

2012/09/14 12:06:21
id:freewriter

ありがとうございます。それは大丈夫でした!

2012/09/14 13:51:38
id:a-kuma3 No.2

回答回数4973ベストアンサー獲得回数2154

ポイント67pt

vbscript ってのが間違い。
あのソースは jscript です。
スクリプトの拡張子を、.vbs ではなく、.js にして wscript で実行したら、きちんと動きますよ。


プログラムのフルパスや、メッセージに空白が含まれてるのがまずいんじゃないのか、と思って、試してみたのが以下のソースです。

WshShell = new ActiveXObject("WScript.Shell");
msg = "hello boy !";
ipmsg = "c:/program files/IPMsg/ipmsg.exe /MSG localhost " + msg;
WshShell.Exec(ipmsg);

これを hatena.js で保存して、

d> wscript hatena.js

で、自分に飛んできました(実は、予想外)。

少なくともプログラムのフルパスは、ダブルクォートでくくらないとダメだと思ったんですけどね。

WshShell = new ActiveXObject("WScript.Shell");
msg = "hello boy !";
ipmsg = "\"c:/program files/IPMsg/ipmsg.exe\" /MSG localhost " + msg;
WshShell.Exec(ipmsg);
id:oil999 No.3

回答回数1728ベストアンサー獲得回数320

ポイント66pt

拡張子を .js にして実行してみてください。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません