KB-Can't Create Scripting.Dictionary

Scripting.Dictionary源於Microsoft Scripting Runtime(\Windows\System32\scrrun.dll),是讓我有機會在VB6, VBScript使用Hashtable的救星。

我一直以為Scripting Runtime是所有Windows內建且必備的核心元件,今天才發現並不盡然...

寫了個VBA,在User的機器上一直出現ActiveX Component can't create object.(ActiveX元件無法產生物件)的錯誤訊息,開始我以為是裡面用到的MSXML2.XMLHttp30版本不存在,後來才發現其實錯在建立Scripting.Dictionary時,仔細檢查了一下專案參照,scrrun.dll好好地躺在Windows\System32目錄下,若非是Scripting Host的安裝損壞了嗎??

用regedit搜尋,沒看到Scripting.Dictionary的元件註冊機碼,已有重裝Scripting Host的心理準備。暫且先Goggle了一下,發現有人提到遇到Scripting.Dictionary或FileSystemObject建立失敗時,可以先跑一下regsvr32 scrrun.dll,試試也沒損失... 噹噹~~~ 註冊scrrun.dll後,功能就正常了。

【結論】大家如果遇到Scripting.*家族的物件無法建立時,記得先試試regsvr32 scrrun.dll,如果還不行,就乖乖重裝Scripting Host吧!

參考文章

歡迎推文分享:
Published 19 October 2007 07:10 PM 由 Jeffrey
Views: 12,367



意見

# chicken said on 20 October, 2007 04:58 AM

八成被某些兩光的防毒軟體給移掉的吧... 一堆 .vbs 病毒, 竟然看過很兩光的解決辦法: 把 scrrun.dll 註冊資訊移掉... [:@]

# 小胖 said on 10 August, 2009 08:59 PM

最近也遇到了這個怪問題

不過沒有黑大這麼幸運,重新註冊 scrrun.dll 後,依然是無法建立 scripting.dictionary 相關物件 !

準備重新安裝 WSH 了 ~ ORZ

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<October 2007>
SunMonTueWedThuFriSat
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910
 
RSS
創用 CC 授權條款
【廣告】
twMVC

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication