3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

WSHでWScript.Shellオブジェクトを作成しようとするとエラー

(OSはXP SP3です。)

VBScriptを使って下記のように WScript.Shellオブジェクトを作成しようとしてました。

Set WshShell = CreateObject("WScript.Shell")

WScript.Echo "メモ帳を起動します。"

WScript.Run "notepad.exe"

ところが、こんなエラーが出ます。

ActiveXコンポーネントはオブジェクトを作成できません。

WScript.Shell はWindowsScriptの基本的オブジェクトなので作成できないのはおかしいです。

多分、WSH 自体が逝ってるのかと思って再インストールを試みました。

下記VBScriptで確認するとバージョンが5.7だったので、MSのダウンロードセンターから5.7をダウンロードしました。

WScript.Echo WScript.Version 'バージョン確認

しかし、インストーラを実行すると既に最新版入ってるからダメだ と怒られます。

それで、ひとつ古いバージョンの5.6をMSのダウンロードセンターからダウンロードして、インストールしてみました。

これだと問題なくインストールできます。

これで、CreateObject("WScript.Shell") を行うと問題なく処理が実行できます。

その後、WindowsUpdateをかけると、バージョンが 5.7 に上がってました。

この状態でも WScript.Shell のオブジェクト作成はできました。

結局原因はわかりませんでしたが、一旦5.6を入れ直して、Windows Update すればいいということですね。