Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用VB6创建OneNote插件_Vb6_Add In_Onenote - Fatal编程技术网

使用VB6创建OneNote插件

使用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

首先,我尝试使用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 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服务器。