乔山办公网我们一直在努力
您的位置:乔山办公网 > office365 > -office .net开发包,officeten

-office .net开发包,officeten

作者:乔山办公网日期:

返回目录:office365







创建工程环境

  有了以上的框架技术基础,我们就可以来创建我们的第一个Outlook插件项目了,因为我现在用的是Office 2013,我们先做一个简单的Outlook 2013插件好了。其实这个插件2010也能用,因为插件UI是用Ribbon。

  我们先用“管理员身份”运行Visual Studio。因为我们开发的是一个COM类型的类库,而这个类库需要向注册表注入一些键值,VS需要管理员身份才能自动完成这些操作。你问怎么用管理员身份运行?在图标上右键点击,展开的菜单里面就有。

  然后我们创建一个“类库”项目,我们起个项目名称叫“TestOutlookAddin”,记得.NET的版本是3.5。随后我们添加NetOffice相应3.5版本的以下dll文件引用:

  extensibility.dll

  NetOffice.dll

  OfficeApi.dll

  OutlookApi.dll

  我们再调整解决方案的编译环境,必须要有x86和x64两种。因为插件是对Office版本敏感的,x64的Office只能加载x64编译得到的插件dll,同样的,x86版本Office也只能加载x86版本dll。

  我们还要对项目进行属性设置。

  在“应用程序”标签页中,点击“程序集信息…”,在打开的对话框中勾选“使程序集COM可见”。

  在“生成”标签页中,勾选“为COM互操作注册”。

  在“调试”标签页中,将“启动操作”勾选“启动外部程序”,并且填入你机器上的Outlook.exe启动路径,在我的机器上,路径如下:

  C:\Program Files\Microsoft Office\Office15\OUTLOOK.EXE

  修改完这个以后,我们先进入C:\Program Files\Microsoft Office\Office15\,也就是Outlook.exe的所在文件夹,看看有没有outlook.exe.config文件。如果没有这个文件,请创建这个文件,并在文件里面写入以下XML

  xml version="1.0" encoding="utf-8"?>
  <configuration>
  <startup>
  <supportedRuntime version="v1.0.3705" />
  <supportedRuntime version="v1.1.4322" />
  <supportedRuntime version="v2.0.50727" />
  startup>
  configuration>
  这个文件必须和Outlook.exe在同一个文件夹中。如果没有这个文件,我们将无法进入调试状态。我想没有人能在不调试的情况下编写一整个插件吧?

  编写样例代码

  我们把环境的装备工作做好了,下面就来编写最简单的插件。

  我们先在项目中创建一个RibbonUI.xml,并把它的生成操作定义为“嵌入的资源”,内容如下:

  xml version="1.0" encoding="utf-8" ?>
  <customUI onLoad="LoadAction" xmlns="http://schemas.microsoft.com/office/2006/01/customui" >
  <ribbon>
  <tabs>
  <tab id="RibbonAddinSampleTabCS35" label="插件标签">
  <group id="group1" label="分组名">
  <button id="customButton1" size="large" label="按钮"/>
  group>
  tab>
  tabs>
  ribbon>
  customUI>
  对于Outlook 2007以上的版本来说,这个文件就是定义新增的菜单栏界面的。

  然后再在项目中创建一个名为COMEntry的类,代码如下:

  using System.Runtime.InteropServices;
  using NetOffice.OutlookApi.Tools;
  using NetOffice.Tools;

  namespace TestOutlookAddin
  {
  [COMAddin("Test Addin For Outlook", "", 3), CustomUI("TestOutlookAddin.RibbonUI.xml"), RegistryLocation(RegistrySaveLocation.CurrentUser)]
  [Guid("AFE67651-951D-4A42-8CAB-E9BF7E219DDF"), ProgId("TestAddinForOutlook")]
  public class COMEntry : COMAddin
  {
  }
  }
  其中COMAddin特性类声明了一系列需要加载和插件初始化的信 息,它的参数有“插件在Outlook插件列表中的显示名称”,“插件在列表中的描述”,“启动类型(3代表跟随Outlook启动而自动启动)”。

  CustomUI表示了刚才我们定义的RibbonUI.xml作为嵌入的资源的资源访问路径,这点对于有一定经验的.NET开发人员一定不陌生。

  RegistryLocation是定义了插件在注册表中注册到哪个根键值里面去。我们知道现在Windows安装文件都有“仅为我”和“所有人”安装选项,这个特性也是为了区分它的。不过这个仅仅是在调试状态下,因为发布的时候这个键值还是会由我们的安装包来自行控制,所以不需要在这个地方做过多纠结。

  好了,我们在VS按下F5调试查看一下效果吧

  我们得到了一个新的标签,标签内部有个新的分组和空白的“按钮”,鼠标移到按钮上,就会自动出现下面的弹出说明框。

  在此,需要先进行一个声明,下方的这个弹出说明框是可以自定义标题和内容的,但是最下方的插件名称超链接和“详细信息”是无法去掉的。微软官方的解释是:为了区分这个到底是一个第三方插件还是Outlook自身自带的按钮。因为他们担心一些质量很差的插件影响了Outlook自身的行为,用户还要怪罪到微软头上。e799bee5baa6e79fa5e98193e58685e5aeb9333因此他们就用这种方法来明显区别插件和自身控件了。

相关阅读

  • -office .net开发包,officeten

  • 乔山办公网office365
  • 创建工程环境  有了以上的框架技术基础,我们就可以来创建我们的第一个Outlook插件项目了,因为我现在用的是Office 2013,我们先做一个简单的Outlook 2013插件好了。其实这个插件2010也
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网