昨日書いた、Windows Scripting Component だけど、結局使用を断念した。
エラーメッセージがほとんど役に立たない、というのが最大の理由。WSC で定義したオブジェクトを GetObject で取得しようとしたときに、エラーが出ることがある。これは、.wsc ファイルの中身に間違いがあるのかもしれないし、GetObject の引数が違っているのかもしれないが、表示されるエラーはこんな感じだ。
オートメーション エラーです。
オートメーション使ってるのは知ってるのであって、これではまったく役に立たない。いろいろいじってる間にメッセージが若干変わることもあるのだが、何がどう反映されているのかが読めない。
さらに、.wsc ファイルに新しい内容を追加した後でエラーになったので、その部分を削除して実行してみたら、それもエラーになった。かと思えばあやしそうなところを残したまま実行しても通っちゃったりして。もしかすると、.wsc ファイルを変更しても、その次の GetObject に反映されるとは限らないのだろうか。
真偽のほどは不明なままだが、これに時間をかけるのはもうイヤなので、VB で実装することにした。開発環境にない COM コンポーネントの代わり (スタブ) を作ろうとしていたので、プロジェクトグループ内にアプリケーションと COM コンポーネント (ActiveX DLL) のプロジェクトを入れてやった。今のところ文句なく動いている感じだ。
このマシンに元の COM コンポーネントをインストールするまではこの手が使えるはずなので、WSC にはさよーなら。