有誰知道VBA是如何從一個參考找到一個COM對象來加載?COM如何處理VBA引用?
例如,引用「Microsoft Forms 2.0對象庫」與GUID {0D452EE1-E08F-101A-852E-02608C4D0BB4}關聯,這似乎是一個類型庫。那麼它如何找到該文件?我懷疑完整路徑「C:\ Windows \ SysWOW64 \ FM20.DLL」是否已在插件中硬編碼。
有一個涉及註冊表鍵的巨大糾結,任何人都知道他們是如何工作的? (我懷疑答案是否定的,最後的COM程序員會死掉,但代碼的精妙程度依然存在!)
對於根據Office版本自動更改的內置對象,必須有一點額外的魔力。
我問的原因是當我嘗試運行我編寫的Excel VBA插件時,我有用戶報告編譯錯誤錯誤,我懷疑他們在系統中缺少文件。因此,在我的簡單安裝程序中查看一些代碼會很好。
VBIDE無法工作,它始終在用戶計算機上禁用。 (不知道爲什麼給任何插件可以破解註冊表來設置它,所以不是真正的安全增益。)但我可以查找相關的密鑰。 – Tuntable
謝謝。我在找錯地方。看起來像HKCR也將當前用戶與本地機器合併。這裏還有一個WOW64Node版本,會被忽略。 – Tuntable