Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.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
为Office 2000/Office 2007构建Com插件_Com_Vsto_Add In - Fatal编程技术网

为Office 2000/Office 2007构建Com插件

为Office 2000/Office 2007构建Com插件,com,vsto,add-in,Com,Vsto,Add In,我正在努力寻找使用VSTO和VB.net创建office加载项的直接指南 具体地说,我想知道如何创建一个addin/dll,该addin/dll可以从VBA以以下形式引用:- Addin.method(参数)或Addin.property=X 或者将自己的自定义工具栏/功能区界面安装到office的某个方面,例如Word 我检查了MSDN,就解释的易读性和可用性而言,到目前为止我还是一片空白 目前,我需要为Office 2000创建至少一个加载项以运行和管理SQL,然后为自定义Office 20

我正在努力寻找使用VSTO和VB.net创建office加载项的直接指南

具体地说,我想知道如何创建一个addin/dll,该addin/dll可以从VBA以以下形式引用:-

Addin.method(参数)或Addin.property=X

或者将自己的自定义工具栏/功能区界面安装到office的某个方面,例如Word

我检查了MSDN,就解释的易读性和可用性而言,到目前为止我还是一片空白


目前,我需要为Office 2000创建至少一个加载项以运行和管理SQL,然后为自定义Office 2007(Word)设置创建一套加载项。

从VBA代码向脚本引擎添加全局命名项需要脚本引擎通过IActiveScript::AddNamedItem公开自身。我不认为微软会很快这么做,因为这可能会破坏现有的VBA代码。

让它工作起来:-)


使用类库项目和ComInterface/ClassInterface。

也许我的问题有点含糊不清。我在VBA中使用了许多对第三方DLL的引用;通过我们的CRM系统,我可以通过VBA创建和操作CRM联系人对象。例如:Activebookmark.range.text=oContact.Addresses(1).FormattedAddress,其中oContact是CRM系统中联系人的一个实例(尽管我已经解释了一点)。我的问题是如何在一个“国产”com插件中实现相同的功能?例如:strResult=oSQLQuery.RunQuery(strQuery,strField),其中SQL代码包装在com加载项中?如果您可以控制VBA代码,则可以声明全局变量以存储对加载项的引用。您可能需要重新考虑您的设计,因为全局变量通常被认为是不好的做法,正是因为它们的非局部性:全局变量可能会在不经通知的情况下被修改,并产生相互依赖性和复杂性