我是 Rubberduck 的新手,并且安装了最新版本 2.0.11。安装 admin 后,我转到 excel 并检查我的 com-addins,它现在确实在那里显示了 Rubberduck。我检查了我的 programdata 文件夹,是的,rubberduck 有所有文件等。它只是没有出现在我的 excel 插件中。帮助?
操作系统:windows 7 pro Excel 2007 64bit
我是 Rubberduck 的新手,并且安装了最新版本 2.0.11。安装 admin 后,我转到 excel 并检查我的 com-addins,它现在确实在那里显示了 Rubberduck。我检查了我的 programdata 文件夹,是的,rubberduck 有所有文件等。它只是没有出现在我的 excel 插件中。帮助?
操作系统:windows 7 pro Excel 2007 64bit
免责声明:我是 Rubberduck 项目的创始人之一
编辑 2020-06:Rubberduck 不再需要管理权限来安装,并且在安装过程中会进行加载项注册。如果安装是为“所有用户”进行的,则需要为每个用户手动注册加载项 - 安装程序现在为此提供了一个开始菜单快捷方式,但这个答案仍然准确地描述了幕后发生的事情,以及如何手动使其工作。
</meta>
Rubberduck 是VBE插件,不是 Excel 或 COM 插件;如果它已正确注册为 VBE 加载项,您将在 VBE 的Add-In Manager的Add-Ins菜单中找到它:
注意:避免从该窗口加载/卸载 Rubberduck - 存在与 VBE 的加载项管理器不兼容的已知拆卸问题(其中大部分已在下一个版本 2.0.12 中修复)。
VBE 在 HKCU 配置单元下查找可用的加载项,该加载项适用于当前用户- 如果您不是运行安装程序的管理员用户,VBE 不知道有一个新加载项,因为 HKCU 下没有任何内容就是这么说的。
根据项目 wiki 中的安装说明:
Rubberduck 安装程序需要管理权限,尤其是注册启用单元测试功能的 COM 类型。因为 VBE 插件需要在 HKCU 注册表配置单元下注册,所以安装程序将为运行安装程序的管理员用户创建 Addins 键。
要为非管理员用户注册加载项,您需要运行以下 PowerShell 命令:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
New-Item -Path 'HKCU:\Software\Microsoft\VBA\VBE\6.0\AddIns64\Rubberduck.Extension' -Force
New-ItemProperty -Path 'HKCU:\Software\Microsoft\VBA\VBE\6.0\AddIns64\Rubberduck.Extension' -Name Description -PropertyType String -Value 'Rubberduck'
New-ItemProperty -Path 'HKCU:\Software\Microsoft\VBA\VBE\6.0\AddIns64\Rubberduck.Extension' -Name FriendlyName -PropertyType String -Value 'Rubberduck'
New-ItemProperty -Path 'HKCU:\Software\Microsoft\VBA\VBE\6.0\AddIns64\Rubberduck.Extension' -Name LoadBehavior -PropertyType DWord -Value 3
这将在 HKCU 下安全地创建所需的注册表项,VBE 正在其中寻找其加载项:HKCU:\Software\Microsoft\VBA\VBE\6.0\AddIns64
. 请注意,32 位 VBA 主机将在密钥下查找加载\6.0\AddIns
项。
或者,您可以在注册表编辑器中手动创建缺少的键: