台灣最大程式設計社群網站
線上人數
1014
 
會員總數:242649
討論主題:187620
歡迎您免費加入會員
討論區列表 >> VB6 >> CreateObject("MSScriptControl.ScriptControl") 失敗
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
CreateObject("MSScriptControl.ScriptControl") 失敗
價值 : 50 QP  點閱數:2693 回應數:7

樓主

A9
初學者
10 1
43 9
發送站內信

CreateObject("MSScriptControl.ScriptControl") 失敗
1.目的: 用VBA 擷取網頁資料,解析Json, 錄入 ACCESS
2.環境: Win7(64bit) 繁體旗艦版 SP1, Office 2010(64bit) 繁體
3.目前狀況:
(1)已用Vba從網站順利擷取網頁資料 為 json 格式
(2)用一副程式 A170_DS() 欲解析 Json 格式, 程式片段如下

(3)執行到 Set X2 = CreateObject("MSScriptControl.ScriptControl")
出現錯誤訊息: 執行階段錯誤 429
Active X 元件無法產生物件
(4)前年 同樣程式, 我在 WinXP(32Bit) 和 Office 2007(32bit) 下,執行正常,無任何錯誤碼發生
4.做過的研究:
(1)上網查過10數篇討論, 初步結果出在 Msscript.ocx 是為32位元所寫的dll, 在64bit環境下, 無法正常運作 (主要是 office2010 64bit)
(2)有要我用 Regsvr32.exe c:\windows\SysWOW64\Msscript.ocx 重新註冊 Msscript 元件, 順利註冊完成, 但錯誤依舊...
(3)還有一些奇奇怪怪方法 ...,還是無法解決問題
5.請問 有人在 64bit Win /office 64bit 下,順利運行過MSScriptControl 元件嗎?? 當然是可以退回office 32bit,確保程式運作正常;
聽說新一代開發系統的環境,已經放棄不再使用ActiveX, Dll方式來運作,科技總是往前突破, 請問在64bit環境下,是用什麼來代替 MSScriptControl的運作??
感謝指點........



搜尋相關Tags的文章: [ CreateObject ] , [ ScriptControl ] , [ Msscript.ocx ] , [ 64 bit ] ,
本篇文章發表於2016-06-23 02:09
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
不錯的參考

羅伯斯
檢舉此回應
32bit 版本的 Msscript.ocx ,當然不能直接在 64bit 正常運作

請參考以下的連結修改註冊表,試試看
http://blog.csdn.net/Humourer/article/details/51669916


http://www.lxway.net/561284406.html

本篇文章回覆於2016-06-23 08:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

MSDOS
捐贈 VP 給 MSDOS 檢舉此回應
請問你是要處理 Script 嗎

Private Sub Command1_Click()
Dim x
Set x = CreateObject("MSScriptControl.ScriptControl")
x.Language = "VBScript"
x.ExecuteStatement "MsgBox ""Hello World!"""
End Sub

我電腦 64bit Win /office 32bit 上面執行是這正常
本篇文章回覆於2016-06-23 09:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

A9
檢舉此回應
感謝一樓 羅伯斯 回復,
試過你所提第一個方法, 沒有成功,
我猜想 不在於 註冊表的問題, Win 64 是可以透過 註冊32程式 執行 32的程式
但 office 64 (Access/VBA ) 無法利用 32 的程式 在 64環境下 達到想要的連結或運作
你提的第二個方法 是 MScomm32.ocx 而我需要的是 Msscript.ocx, 這方法先前已經試過了,失敗
我還是將 MScomm32.ocx 下載, 放入 c:\windows\SysWOW64\ 內,做一次 Regsvr32.exe c:\windows\SysWOW64\mscomm32.ocx
並重新開機, 結果還是 如先前預料 錯誤依舊

炙忱感謝 羅伯斯 熱心協助與回復, 因為有你的參與, 世界更美好!
本篇文章回覆於2016-06-23 12:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

A9
檢舉此回應
感謝二樓 MSDOS 回復. 謝謝您寶貴的經驗分享,
如問題 3-(4)項所言,的確是在 office 32下 可以正常運行,
我現在有點後悔當時 為何要更新office 32bit 到 office 64bit 了.
只是 64bit office 已經出來 好幾年, 這問題應該有解決方法才是
想問一下 1.有沒有新版 64位元的Msscript.ocx 元件?
2.有人在 64bit Win /office 64bit 下,順利運行過 CreateObject("MSScriptControl.ScriptControl") 嗎?

附帶一提, Win 32 下 , 應該無法正常執行 office 64 吧 !


本篇文章回覆於2016-06-23 12:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

MSDOS
捐贈 VP 給 MSDOS 檢舉此回應
http://originaldll.com/file/msscript.ocx/7705.html
這網站的你先試看看
我沒試過
本篇文章回覆於2016-06-23 13:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
最有價值解答

MSDOS
捐贈 VP 給 MSDOS 檢舉此回應
Json 格式 解析 也可以自己做
可以查一下歐 ^_^
本篇文章回覆於2016-06-24 20:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

A9
檢舉此回應
感謝大家!
最後 我放棄 要在 office 64bit 上使用 CreateObject("MSScriptControl.ScriptControl") 來解析 Json
依照 6樓 MSDOS 大哥的建議 , 自已 用 Split(...) 解析 Json.

效果還不錯 不用在一棵樹上吊死 ... 哈哈!

再次感謝 所有 幫忙與關注 這個問題 的 前輩 和 高手!
感恩啦!
本篇文章回覆於2018-05-26 14:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.