Nam*_* VU 6 vba microsoft-excel-2007 autocomplete microsoft-excel
(从SO 上的问题克隆)我在 VBA 中创建了一个函数。我希望 Excel 2007 在单元格的 Excel 中编写此函数时显示自动完成功能。详细信息为
如何使用 Excel 加载项 (.xlam) 在 Excel 2007 中使用 VBA 函数的自动完成功能?
附:
在 Excel 2010 中,自动完成功能有效
在带有 Excel 启用宏的工作表 (.xlsm) 的 Excel 2007 中,自动完成功能有效。测试文件在这里。
但是,在带有 Excel 加载项 (.xlam) 的 Excel 2007 中,自动完成功能不起作用。测试文件在这里。
基于 Sean Cheshire\xe2\x80\x99s 链接到 Michaels\xe2\x80\x99s 答案:
\n\n\xe2\x80\x9c我在 JKP 应用程序开发服务中找到了一个示例,最初由 Laurent Longre 发现。一项警告解释如下:
\n\n\n\n\n这种技巧方法的缺点是,实际上是在使用的 dll 中重新注册一个函数,该函数可能被任何程序使用。
\n
http://www.jkp-ads.com/Articles/RegisterUDF01.asp
\n\n此解决方案仅注册/取消注册 UDF,但用户仍然必须将工作簿另存为 .xlam 并安装插件。我使用以下代码自动将当前工作簿安装为 Excel 插件(如果您要更新插件,则需要添加一些错误捕获以确定插件是否已安装)。
\n\n\n\n\n\'将当前工作簿另存为 .xlam 文件
\n\n
\n sFile = Application.LibraryPath & "\\" & "name_of_addin" & ".xlam"
\n ThisWorkbook.SaveAs sFile, 55
\n ThisWorkbook.IsAddin = True\'添加临时工作簿
\n\n
\n Workbooks.Add\'安装插件
\n\n
\n Set oAddin = AddIns.Add(sFile , False)
\n oAddin.Installed = True\'关闭临时工作簿
\n\n
\n Workbooks(Workbooks.Count).Close
\n MsgBox (“安装成功。请关闭 Excel 并重新启动。”)\'关闭工作簿而不保存
\n
\n Workbooks(sFirstFile).Close False
该链接仍然有效。
\n 归档时间: |
|
查看次数: |
4758 次 |
最近记录: |