Board logo

標題: [發問] 別台開啟VBA後,點控制按鈕卻沒反應(已經爬過很多很多文...) [打印本頁]

作者: kakinakata    時間: 2015-1-23 17:52     標題: 別台開啟VBA後,點控制按鈕卻沒反應(已經爬過很多很多文...)

大家好,因小妹是VBA幼幼班,好不容易寫完一個VBA,拿到其他同事電腦用。發現別台電腦點工作表1的command button,本來要跳出來的UserForm卻沒出現,而同一個檔案我自己試是正常沒問題的。
我公司統一是WIN7 + OFFICE2010,試了好幾個同事的電腦,一律沒反應。
爬過很多類似這種情況的文,卻毫無頭緒。請各位大俠和女俠救救我~檔案請參考附件>"<[attach]20126[/attach]

我同時開2台電腦測試,結果如下:

1. 在CommandButton失效的電腦,略過在工作表1點CommandButton會彈出UserForm的動作,直接試跑後面的程式,結果都好好的沒問題。

2. 然後又試著執行"UserForm中設計的CommandButton",結果也OK沒問題。

3. 在CommandButton失效的電腦,執行工作表1的3個程式(如下圖)都失敗
[attach]20122[/attach]
如果執行這3個程式,都會出現錯誤訊息
[attach]20123[/attach]

4. 我在我電腦中隨便開新的EXCEL,寫一個
  1. Private Sub CommandButton1_Click()
  2.     UserForm2.Show
  3. End Sub
複製代碼
在其他電腦仍舊沒反應

請問如何解決?
作者: lp986749    時間: 2015-1-24 09:57

Private Sub CommandButton1_Click()
VBAProject.UserForm1.Show
End Sub

關閉所有 Office 相關的軟體,開啟檔案總管,切換至路徑 C:\Users\ [使用者名稱] \AppData\Local\Temp\Excel8.0 和 C:\Users\ [使用者名稱] \AppData\Local\Temp\VBE,將 MSForms.exd 更名或刪除後,重新開啟 Excel 進行測試或微軟網址說明https://support.microsoft.com/kb/3025036/zh-tw
作者: clietj37    時間: 2015-1-28 08:09

起因於更新了office patch
我是參考這一篇解決
http://stackoverflow.com/questions/27411399/microsoft-excel-activex-controls-disabled
作者: kakinakata    時間: 2015-1-28 11:12

謝謝兩位的回覆,我用#2的方式測試了4台電腦,把電腦更新到最新後,至https://support.microsoft.com/kb/3025036/zh-tw 下載microsoft fix,有2台成功可以用activeX控制項,有2台依然沒反應。

剛才再參考#3大大提供的文章,發現失敗的電腦都有一個共通點。
當我開啟包括ActiveX的Excel後,測試發現不成功後。無論有否更改Excel任何內容,只要我存檔後重開檔案,都會出現下圖畫面。
[attach]20147[/attach]

請問是發生什麼事呢?
作者: kakinakata    時間: 2015-1-28 11:26

回復 3# clietj37

大大你好,剛才已經看過你的提供的解決方式。因為有些電腦仍然不成功。所以我參考文章中的Additional Step

Additional step:

If the steps above do not resolve your issue, another step that can be tested (see warning below):

On a fully updated machine and after removing the .exd files, open the file in Excel with edit permissions.

Open Visual Basic for Applications > modify the project by adding a comment or edit of some kind to any code module > Debug > Compile VBAProject.

Save and reopen the file. Test for resolution. If resolved, provide this updated project to additional users.

Warning: If this step resolves your issue, be aware that after deploying this updated project to the other users, these users will also need to have the updates applied on their systems and .exd files removed as well.


看得不是很懂"modify the project by adding a comment or edit of some kind to any code module > Debug > Compile VBAProject."是要做什麼? 是隨便編輯VBA中任何內容嗎? Debug 跟 Compile VBAProject 每個字都知道意思,但加起來就不知道實際要進行什麼動作...?{:3_60:}

但我隨便編輯一下後重開檔案就出現我在#4描述的情況。求大神解惑~~
作者: clietj37    時間: 2015-2-7 23:02

這問題超出我的能力範圍了,也許版上有其他人碰過,不好意思
作者: lp986749    時間: 2015-2-8 11:08

參考微軟網址說明https://support.microsoft.com/kb/3025036/zh-tw 是否此問題
作者: lpk187    時間: 2015-2-12 18:31

我下載了這個檔案,http://www.excelclout.com/microsoft-update-breaks-excel-activex-controls-fix/
有些電腦可以解決問題,但還是有好幾台電腦不能解決,於是我在有問題的電腦開一個新檔,然後把所有的工作表一個一個複製過去
再修正一些外部連結後儲存後再開這個新檔,所有電腦就都可以執行了
作者: Scott090    時間: 2015-2-17 08:14

回復 1# kakinakata


    我的問題跟這個PO文 完全一樣:
       1. 在A台電腦編輯的 VBProject 含 ActiveX控制項執行無誤,移到B電腦不能執行;
            發現ActiveX控制項的名稱已被改回原始名稱,且好像被鎖定無法再變更恢復;
            需要在B電腦用新空白工作簿工作頁重新製作 ActiveX控制項及複製原來的 VBA 程式才能用;
            ActiveX的控制項不能Copy,否則也不能用
       2. 在B台電腦做的 VBProject 含 ActiveX項,放到 A電腦完全可以執行

   現在,還沒解!!!

   繼續追蹤版主 PO 文, 繼續學習

謝謝熱心的人繼續提供可能的解決方法
作者: Scott090    時間: 2015-2-27 08:32

回復 8# lpk187


    上面各樓層提供的方法都做了,包含去除暫存檔+清除 註冊連結 + 2010重灌,問題依舊
1.win8 A 電腦做的不能用在B電腦,可以用在 C 電腦
2.在win 7 B電腦用空白新workbook重新做 A電腦的檔案中ActiveX才能用,在拿回到A電腦也可以用
    ,A電腦用過後拿到B用又掛了

問題是甚麼? A or B .......
尚待答案
作者: HUNGCHILIN    時間: 2015-2-27 10:40

本帖最後由 HUNGCHILIN 於 2015-2-27 10:42 編輯

用這篇小鷗的圖文方法做一次看看.如連結
http://www.dotblogs.com.tw/chou/ ... 1/147604.aspx#74638

[attach]20309[/attach]
作者: Scott090    時間: 2015-2-27 15:47

回復 11# HUNGCHILIN

非常謝謝 林大大的熱心指引

提供的網址內容已閱讀,
關於 無法插入ActiveX控制項的問題,曾經在 去年12月份碰到且已解決(在A電腦 win8),
基本上就是刪除暫存檔  .exd
http://forum.twbts.com/redirect. ... o=lastpost#lastpost

2015  1月底發生的事,
在另B台電腦 win7,這次的問題是 ActiveX 的 Name會被改,例如原先A電腦設為 "StartButton" 被B改為原來的Default "CommendButton1",
"Optionxxx" 被B改回default "CheckBox1" ..... ,試圖把"CommendButton1"改回"StartButton"卻顯示 設定衝突!!! ....  
一併做了 刪除 .exd + 重安裝 (不是恢復修理) 還是沒解決;
無奈地在B電腦用空白 WorkBook重作ActiveX,其他的用拷貝

再繼續努力
作者: lpk187    時間: 2015-2-27 16:49

回復 10# Scott090


  我發現問題是出在你所說的A電腦上,我的也是如此。
所以我在我的A電腦上找到了12 月更新的 Windows Update KB2553154(office2010),我把它解除安裝後,試著從A電腦上做的activeX控制項也可以在其他電腦中正常執行
作者: Scott090    時間: 2015-2-27 17:10

我發現問題是出在你所說的A電腦上,我的也是如此。
所以我在我的A電腦上找到了12  ...
lpk187 發表於 2015-2-27 16:49 [/quote]

請問這個 Windows update 在那裡可以找到並刪除它?
謝謝
作者: HUNGCHILIN    時間: 2015-2-27 17:52

http://answers.microsoft.com/zh- ... 7-aae5-58d226a6e6b2
作者: lpk187    時間: 2015-2-27 18:21

回復 14# Scott090


    在  電腦==>"解除安裝或變更程式"的左上按"檢視安裝更新"就會列出曾更新的程式。再找出KB2553154,找到後按右鍵解除安裝
作者: Scott090    時間: 2015-2-27 19:09

回復 16# lpk187


    感謝
已找到並移除
將再試試有沒問題
作者: Scott090    時間: 2015-2-27 19:11

回復 15# HUNGCHILIN


    林大大
謝謝  感恩
作者: Scott090    時間: 2015-3-9 11:43

回復 15# HUNGCHILIN


    另一個驚奇出現了
A 電腦去除 KB2553154後,原來做的 ActiveX 項不能用要重做,只好繼續"被中毒"
想讓 B 電腦也"被中毒",結果下載安裝儘然 .......
[attach]20402[/attach]

不知大大能否指引
謝謝
作者: lpk187    時間: 2015-3-9 13:48

回復 19# Scott090


我是下載這個巨集檔 http://www.excelclout.com/microsoft-update-breaks-excel-activex-controls-fix/用在B電腦
然後在A 電腦去除 KB2553154後再把這個巨集檔在A電腦執行一次就都可以用了
作者: Scott090    時間: 2015-3-9 17:49

回復 20# lpk187


    那個檔案也有執行過,基本上就是去除臨時檔
只是A電腦解除 KB2553154後,就像B電腦; 這段期間在A電腦做的 ActiveX 項都不能用了,都要重做

所以,我大膽的結論是 所有電腦都要去除 KB2553154 (office2010)及相關的臨時檔 ;不能跑的 ActiveX 重新做 Coding

謝謝
作者: HUNGCHILIN    時間: 2015-3-9 22:26

本帖最後由 HUNGCHILIN 於 2015-3-9 22:37 編輯

http://support.microsoft.com/kb/3025036/zh-tw
https://technet.microsoft.com/zh-tw/library/security/ms14-082

這兩則是微軟公司的解釋文與解除方法。
裡面提及了,物件名會被更换等3項。
說明各版本受影響程度。

沒試過檔案拿到2003版存檔修复看看
若再無法解決,只能重作物件。
作者: Scott090    時間: 2015-3-10 08:44

回復 22# HUNGCHILIN


    謝謝大大的用心
因為B電腦( win 7 64x ,2010 32 bits)不知原因(說是版本不符)無法更新"被下毒" 如 #19 所述,
本來已把A電腦的更新去除,要和 B電腦同行同命,但與願違,發現A電腦又被"自動更新"了!?
關掉自動更新一途???

心中祈禱,上帝啊,請把惡魔去除,不要繼續危害人間
作者: JobHsieh    時間: 2015-3-15 19:21

我是Excel 2003 ,上述的方法試過了,還是無效




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)