使用registry来安装Excel AddIn
我创build了一个名为Excel的插件
Project Count_Per Person.xlam
当我打开excel并去发展> AddIns并select我的AddIn安装,它不会保持安装,如果我closures了Excel中,即使保存后。 我做的AddIn,在'AddIns'标签下创build一个新的MenuBarButton,
所以我创build了一个新的registry项来在启动时安装插件
HKEY_CURRENT_USER \软件\微软\办公室\ EXCEL \加载项\ ProjectCount_PerPerson
钥匙看起来像这样
(Default) REG_SZ (value not set) Description REG_SZ Project Count_Per Person FriendlyName REG_SZ Project Count_Per Person LoadBehavior DWORD 0x00000003 (3) Manifest REG_SZ C:\Users\b012918\AppData\Roaming\Microsoft\AddIns\Project Count_Per Person.xlam
当我启动Excel时,它显示它正在安装AddIn,但是我得到一个
exception阅读清单从
文件:/// C:/Users/b012918/AppData/Roaming/Microsoft/AddIns/Project%Count_Per%Person.xlam:
清单可能无效或文件无法打开。
http://pastebin.com/bN1datV5
任何洞察到我搞乱了将是有益的。
附加信息:
如果插件在我启动excel的时候被卸载了,它会给出错误信息。 如果插件被“检查”,当我开始excel,它给下面的评论下载错误。 即使插件是以前安装,CommandBarButton不会保持原位。 另外,在选项 – >插件中,插件被声明为“活动”。
为了澄清,Excel(和其他Office应用程序),VBA插件和COM插件有两种types的插件。 COM插件是通过Visual Studio和Visual Studio Tools for Office开发的。 这正是brett所引用的。
但更可能的types是正常的VBA Excel加载项,通常通过.xlam文件分发。 为了为用户自动加载这样一个插件,你需要在机器上的某个本地目录上加载插件文件,并通过registry引用它。 对于Excel 2010,REG文件加载相应的registry项是:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Options] "OPEN"="C:\\Path\\To\Addin\\Addin.xlam"
这样,每次启动Excel时都会加载插件。
我使用Visual Studio构build了一个名为“FirstExcelAddIn”的插件 ,并检查了它在构buildregistry项时的作用。 我有我的registry正确的问题中显示的键,我只是没有所有的文件,它在一个COM插件寻找。
这是我的function插件在registry中看起来像
(Default) REG_SZ (value not set) Description REG_SZ FirstExcelAddIn FriendlyName REG_SZ FirstExcelAddIn LoadBehavior DWORD 0x00000003 (3) Manifest REG_SZ C:\Users\b012918\AppData\Roaming\Microsoft\AddIns\FirstExcelAddIn.vsto|vstolocal
以下是需要在文件夹中使插件正常工作的文件
- FirstExcelAddIn.dll
- FirstExcelAddIn.dll.manifest
- FirstExcelAddIn.vsto
- Microsoft.Office.Tools.Common.v4.0.Utilities.dll
我怀疑,如果你从头开始编写你的加载项而没有工具,那么你只需要“.dll”和“.dll.manifest”来使你的插件工作。