2017-08-04 98 views
3

我發現v2.0: 75% there後提到了Autocad,並且有一個AutoCADApp.cs文件,但我似乎無法找到在Office之外的某個隨機主機應用程序下使用Rubberduck的參考。有這個Adding a new Host Application to Rubberduck但已經爲Autocad完成。Autocad中的Rubberduck

在Autocad下使用Rubberduck需要從源代碼構建? 還是有程序使用已安裝的發行包?

+0

它不應該被標記爲vba。 – Shrikant

+2

Rubberduck是處理VBA的擴展。並且添加VBA標籤會讓它像你自己一樣進入vba開發者隊列。其中1)我的目的是因爲該社區中可能有人使用它,2)有助於向VBA社區推廣這個不錯的附加組件。但是,爲什麼不呢。標籤已移除。 –

+1

嘿,再次感謝您的捐贈! =) –

回答

4

聲明:我大量參與了Rubberduck項目。

可能你只是缺少AutoCAD VBE的註冊表鍵來注意你的傻瓜。

Rubberduck的安裝程序會搜索您的Microsoft Office安裝位,然後使用該位進行自我註冊。

所以,如果你有32位的Office和32位的CAD,你就全都設置好了。同上64位Office和64位CAD。在你的情況下,你可能有32位的Office,但64位的CAD,所以沒有註冊表鍵來告訴64位VBE加載名爲Rubberduck的加載項。

您可以運行您在項目wiki中找到的PowerShell腳本(它會創建32位和64位插件密鑰),也可以手動創建缺失的HKCU註冊表項,但隨後會看到加載項,但仍然會獲得因爲COM interop是在32位節點下注冊的,所以CAD會期望RD在64位節點下注冊。要爲64位寄存器,你必須運行(如管理員)64位regasm.exe命令,如"troubleshooting 'add-in could not be loaded'" section of the installer wiki描述:

注:您的操作系統的位數是無關緊要的。

彈出一個行政命令提示符(cmd.exe的),並執行以下命令之一:

32位主機:

c:\windows\microsoft.net\framework\v4.0.30319\regasm.exe "(path to install folder)\rubberduck.dll" /codebase /tlb 

64位主機:

c:\windows\microsoft.net\framework64\v4.0.30319\regasm.exe "(path to install folder)\rubberduck.dll" /codebase /tlb 

請注意,這些註冊步驟是必需的,即使您b從源代碼中自行添加插件。

+0

在這裏使用Autocad 2015;運行命令並將安裝路徑添加到受信任的路徑似乎沒有幫助,因此我的意思是菜單不顯示在VBA IDE中。 –

+0

是否在VBE的加載項管理器中列出了Rubberduck?如果沒有,你錯過了'HKCU:Software \ Microsoft \ VBA \ VBE \ 6.0 \ AddIns64 \ Rubberduck.Extension'鍵(或其32位等價物) –

+0

'AddIns64'丟失(但AddIns64存在)我手工創建了這個密鑰。它抱怨說''Rubberduck無法加載'所以我從命令提示符(管理員)運行註冊例程。現在我有[以下例外](https://pastebin.com/eW1uivM8)。 –