« 一定期間が経過したファイル(古いファイルなど)を自動で削除するバッチ | トップページ | ハードディスクの空き容量を定時監視してメールによる通知をするスクリプト(VBS) »

2012年9月18日 (火)

VBScript 実行時エラー (0x800A01AD) 'CDO.Configuration'

Windowsシステムに含まれるCDO(Collaboration Data Objects)コンポーネントを利用して、WSH(Windows Script Host)スクリプトからメールでシステムの状態を通知するスクリプトを書いた。
実行すると、なぜか私のPCだけ下記のようなエラーが発生した

エラー: ActiveX コンポーネントはオブジェクトを作成できません。: 'CDO.Configuration'
コード: 0x800A01AD
ソース: Microsoft VBScript 実行時エラー

Set oConf = CreateObject("CDO.Configuration")で必ず発生した。
OSがWindows7(x64)なのが原因なのかなと思ったが、Windows2008R2やWindowsXPでも問題なくメールの送信ができた。

このエラーは必要な 'CDOSYS.DLL' コンポーネントがうまく登録されていないことが原因らしいので登録して直るか試してみた。

コマンドプロンプトを右クリックで『管理者として実行』を選択して起動する。
下記のコマンドを実行する
        cd /d %WINDIR%\System32
        RegSvr32 cdosys.dll
        cd /d %WINDIR%\SysWOW64
        RegSvr32 cdosys.dll

これで、実行すると、メールが無事に送信された。

« 一定期間が経過したファイル(古いファイルなど)を自動で削除するバッチ | トップページ | ハードディスクの空き容量を定時監視してメールによる通知をするスクリプト(VBS) »

トラブルシュート / Troubleshooting」カテゴリの記事

コメント

こんにちは、お礼です。
  
Dim objEmail As New CDO.Message
 
上のScriptが[win10]pcでは問題なく[win7]pcで「 ActiveX コンポーネントはオブジェクトを作成できません」のエラーが発生していましたが、教えて頂いたコマンド
 cd /d %WINDIR%\System32
 RegSvr32 cdosys.dll
 cd /d %WINDIR%\SysWOW64
 RegSvr32 cdosys.dll
これを実行したところ解決致しました、今日1日がかりで辿り着き、最後と決めた方策でした、感激です、御礼申し上げます。

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/214455/55687581

この記事へのトラックバック一覧です: VBScript 実行時エラー (0x800A01AD) 'CDO.Configuration':

« 一定期間が経過したファイル(古いファイルなど)を自動で削除するバッチ | トップページ | ハードディスクの空き容量を定時監視してメールによる通知をするスクリプト(VBS) »

カテゴリー

無料ブログはココログ