使用VB6创建OneNote插件
首先,我尝试使用VB6为OneNote 2010/2013制作一个非常简单的插件 我为Excel和Word编写了类似的插件,去掉了所有不必要的东西 但基本上,插件位于Connect.Dsr文件中:使用VB6创建OneNote插件,vb6,add-in,onenote,Vb6,Add In,Onenote,首先,我尝试使用VB6为OneNote 2010/2013制作一个非常简单的插件 我为Excel和Word编写了类似的插件,去掉了所有不必要的东西 但基本上,插件位于Connect.Dsr文件中: Option Explicit Dim ONApp As OneNote14.Application Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesi
Option Explicit
Dim ONApp As OneNote14.Application
Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
Set ONApp = Application
MsgBox "Conned"
End Sub
Private Sub AddinInstance_OnDisconnection(ByVal RemoveMode As AddInDesignerObjects.ext_DisconnectMode, custom() As Variant)
MsgBox "DISCONN"
End Sub
我对.dsr文件做了所有必要的修改,例如:
AppName = "Microsoft OneNote"
AppVer = "Microsoft OneNote 14.0"
LoadName = "Startup"
LoadBehavior = 3
RegLocation = "HKEY_CURRENT_USER\Software\Microsoft\Office\OneNote"
这些都是正确操作所必需的
诀窍如下:当我在VB6 IDE中运行它时,它工作得很好。但当我将其编译为.dll时,OneNote COM加载项处理程序说由于运行时错误,无法加载插件
疯狂,不是吗?你也可以从你的评论中做出回答。经过8个小时的试用,我终于找到了解决办法:你需要把代码编译成.EXE,而不是.DLL!!!!!这就是正确操作所需要的一切!任何其他复杂性,如缺少注册表项或任何其他专业都是不必要的。我的意思是下面的大表单,它位于您的答案下面:作为解释答案原因的猜测:如果您使用的是x64版本的OneNote,则尝试加载进程内DLL x86插件可能会失败,因此,需要将插件实现为COM服务器。