寻找关于微软Access的插件开发信息就像让你所有的牙齿被拔掉!是的,我已经找到了一对夫妇的管理插件文章写......但可以找到几乎没有为非管理插件。是的,我已经找到了一对夫妇管理的插件文章写......但可以找到几乎没有为非管理的插件。我确实找到了一篇伟大的文章,这是非常古老的创建基本上是一个非管理的.mda项目......我已经遵循并创建一个插件。现在我希望有一种自动化的方式来部署这个插件。
我见过用VBA的工具来完成,比如Rick Fisher的 查找和替换 插件工具......但找不到在 Access 中以程序方式完成此操作的方法。我已经找到了很多的和很多的Excel插件的文章,甚至Excel插件安装。其中一个这样的方法使用VBA这样。
Sub InstallAddIn()
Dim AI As Excel.AddIn
Set AI = Application.AddIns.Add(Filename:="C:\MyAddIn.xla")
AI.Installed = True
End Sub
不幸的是,Access没有使用同样的方法。如果有人能指点我在正确的方向,我将非常感谢它。如果有人知道的任何书籍或参考资料,更深入地开发Add-In的Microsoft Access,这将是非常感激的,以及大多数的挑剔似乎渺茫。
这只是一个坏主意。 说实话,我不知道它在哪里,甚至位于当前版本的WindowsOffice。 我已经发现Word和Excel在注册表的键 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Office但我安装了Access,却没有看到Access文件夹。 曾经有一次,Access插件可以通过这个注册表键访问。
HKEY_CURRENT_USER/Software/Classes/VirtualStore/MACHINE/SOFTWARE/Microsoft/Office/11.0/Access/Menu Add-Ins。
这在Win Vista上对Office 2003有效. 但每次微软更新OfficeWindows时,它都会发生变化,所以试图用编程方式来实现它是没有意义的,因为每次更新Office或Windows时,你都必须更新和推出数据库的变化。
如果你以主注册表蜂巢为目标,就会有逻辑为你把键放在正确的位置。例如,你从不硬编码 Wow6432Node
因为当一个32位的应用程序试图使用注册表时,该位置是由64位的windows自动管理的。同样,在现代C2R版本的office中,注册表位置在一个非常奇怪的地方。你不必担心这个问题。如果你从Access中锁定主键,该键最终会神奇地出现在正确的位置。
如果你想按用户安装,我建议使用以下位置。
把文件放在这里。
Private Function GetAddinFileName() As String
GetAddinFileName = Environ$("AppData") & "\Microsoft\AddIns\" & CodeProject.Name
End Function
使用这个注册表位置
Private Function GetAddinRegPath() As String
GetAddinRegPath = "HKCU\SOFTWARE\Microsoft\Office\" & _
Application.Version & "\Access\Menu Add-Ins\"
End Function