2012-11-22 84 views
1

我正在使用VBA for Excel。我的要求是在VBA中創建的表單應通過我係統的串行端口與外部系統進行通信。出於同樣的目的,就像我們在VB中做的那樣,我想在VBA中添加MS Comm Control。VBA中的MS通信控制

我可以通過從Tools -> Additional Controls中選擇相同的方式將MS Comm Control添加到控制面板。但是,當我嘗試將MSComm控件放在我的表單上時,它會給我以下錯誤。

該主題不被信任指定的操作。

由於這個原因,我無法將控件放在我的表單上,因此無法使用它。

對於MS Winsock控制觀察到相同的行爲。

在stackoverflow上找到類似的問題:MSCOMM32.ocx usage causes Not Trusted Error沒有任何具體的答案。

我的安裝是: 的Win XP - SP3,微軟Office 2010,VB6,MS VS 2010

+1

看看是否有幫助? http://www.vbforums.com/showthread.php?622730-MSCOMM-error-in-Excel-2007 –

+0

這已經解決了這個問題。非常感謝。 – Jay

+0

你有一箇舊版本的killbit集:http://msmvps.com/blogs/access/archive/2009/06/14/an-older-version-of-mscomm32-ocx-has-had- 「殺死位」 - quot; flag-set.aspx –

回答

0

在Excel宏VB6控制的法律使用(或任何第三方程序或編程語言)限制。唯一的例外是,當您獲得Office Developer Edition許可(或者在較新版本的Office中,包含VSTO的額外開發包或同等產品)或者您只是在安裝了VB6的同一臺機器上創建它們時才使用它們。

但是,您的問題可能與微軟殺死OCX(防止在IE中使用,或者在Office中使用)有關,或者更可能是您使用的是64位Excel(並因此是64位VBA )。

+0

我的系統是32位機器。 – Jay

+0

「Killbit是基於Microsoft Trident引擎(如Internet Explorer)和其他尊重killbit(如Microsoft Office *)的ActiveX容器的Web瀏覽器中的一項安全功能。」 https://en.wikipedia.org/wiki/Killbit – Bob77

0

我有類似的問題,但與MsWinSck.OCX。我通過從http://www.nirsoft.net/utils/acm.html加載ActiveX兼容性管理器來修復它,並通過選擇行中的OCX來啓用OCX(Winsck.OCX),然後單擊菜單上的綠色LED。

希望這可能有所幫助。