這個宏里有Forms,在開發狀態下,滑鼠點擊和準備編輯該Form時,VB也報錯(System Error & H80040111 (-2147221231)),根本就不看到這個Form上的控制元件。注:這塊代碼是別人寫的,我是維護的。謝謝。
uj5u.com熱心網友回復:
錯誤提示的內容是什么?你寫個“錯誤代號”,鬼才知道這是什么錯誤!!!

我在Excel 2007的VBE中查了下,找不到&H80040111代表什么錯誤。
uj5u.com熱心網友回復:

不知道是不是缺少了某個ActiveX DLL …………
也有可能是權限原因造成,你“以管理員身份運行”啟動Excel,再打開那個作業簿試試。
uj5u.com熱心網友回復:
謝謝你,我這個project本來是2003下開發的,我把它放在2007下修改和開發,是不是首先要把檔案從.xls轉換為.xlsm格式?目前,我沒有轉換,通過按鈕運行宏,就會報上面的錯誤,我到代碼里,想看看form上有什么東西,點擊form也會報同樣的錯誤,是和控制元件有關系嗎?還是和參考的庫有關系?非常謝謝。uj5u.com熱心網友回復:
2003和2007的不兼容度很高,轉換后可用的希望不大。建議虛擬機裝個2003編輯,至少能知道原先是怎么做的。
然后按人工重做的方式在2007中實作相同的功能。
uj5u.com熱心網友回復:
我在自己的電腦上裝了EXCEL2003,也有錯誤,提示Could not load an object because it is not available on this machine.查資料說是C:\windows\system32\mscomctl.ocx版本低,我電腦上的版本已經是6.1.98.46了,還低嗎?如果是版本低,哪里有高版本的?非常感謝。uj5u.com熱心網友回復:
作業系統是什么版本?如果新建一個表單,是否正常?
uj5u.com熱心網友回復:
作業系統是XP SP3,在一個表單上有個控制元件名字是progbar,好像就是運行它時出了問題。我打開VBA編輯器,插入一個表單后,想添加一個這樣的控制元件,卻找不到,無法添加。uj5u.com熱心網友回復:
可能是 ProgressBar,但是有5.0(COMCTL32.ocx)、6.0(MSCOMCTL.ocx)兩個版本。試試能不能把表單匯出,保存為 .frm 檔案。
然后用文本編輯器打開,看開頭的 Object = 以及 Begin <ProgID> progbar。
uj5u.com熱心網友回復:
這個問題是MSCOMCTL.ocx的問題嗎?我用的是6.1.98.46版本,感覺就是windows form有問題導致的。uj5u.com熱心網友回復:
別人的電腦是office 365版本,MSCOMCTL.ocx是6.1.98.46版本,運行都很正常的。uj5u.com熱心網友回復:
別猜,動手做啊!#6新建表單的測驗是什么結果?
#8匯出的測驗是什么結果?
uj5u.com熱心網友回復:
如果是MSCOMCTL.ocx的問題你到老機器上找到這個檔案來
然后放到新機器上注冊一下看看
uj5u.com熱心網友回復:
在64位Windows下:64位exe和dll在目錄c:\windows\system32目錄下;
32位exe和dll在目錄c:\windows\syswow64目錄下;
所以要注意:
在win64位系統下注冊32位ocx或dll需要將32位ocx或dll拷貝到c:\windows\syswow64\目錄下。
且注冊要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/63948.html
標籤:VBA
