3

我正在尝试为 Outlook 2016 创建一个加载项。在以前版本的 Office 中,这是使用 WinForms UserControl 完成的,并且相当简单。但是,现在 Visual Studio 2015 中有一个通用模板,用于我想使用的Office Add In ,而不是 Outlook VSTO Add In(两者都显示在这里)。

我的问题是,在选择新的Office Add in in Angial模板时,Visual Studio然后询问此插件的应用程序,如图所示,Outlook没有一个选择

那么,我想知道如何使用新的 Office 模板为 Outlook 2016 创建自定义任务窗格?

为图片链接道歉,我还没有足够的代表直接将它们添加到问题中。谢谢!

4

1 回答 1

2

GitHub 上有一个示例解决方案。在此示例中,使用了 JavaScript 和 HTML。以下是从所选电子邮件中提取数据的 JavaScript 示例:

  Office.initialize = function (reason) {
    $(document).ready(function () {
        app.initialize();

        loadProps();
    });
};

   function loadProps() {
  var item = Office.context.mailbox.item;

  $('#dateTimeCreated').text(item.dateTimeCreated.toLocaleString());
  $('#dateTimeModified').text(item.dateTimeModified.toLocaleString());
  $('#itemClass').text(item.itemClass);
  $('#itemId').text(item.itemId);
  $('#itemType').text(item.itemType);

  if (item.itemType == Office.MailboxEnums.ItemType.Message){
    loadMessageProps(item);
  }
  else {
    loadAppointmentProps(item);
  }
}

然后将其链接到 HTML 页面以显示数据。为了将此添加到 Outlook,还有一个 XML 清单文件。这告诉 Outlook 在哪里可以找到页面,这是文件的片段:

<Requirements>
  <bt:Sets DefaultMinVersion="1.3">
    <bt:Set Name="Mailbox" />
  </bt:Sets>
</Requirements>
<Hosts>
  <Host xsi:type="MailHost">
    <DesktopFormFactor>
      <!-- Message read form -->
      <ExtensionPoint xsi:type="MessageReadCommandSurface">
        <OfficeTab id="TabDefault">
          <Group id="msgReadDemoGroup">
            <Label resid="groupLabel" />
            <Tooltip resid="groupTooltip" />
            <!-- Task pane button -->
            <Control xsi:type="Button" id="msgReadOpenPaneButton">
              <Label resid="paneReadButtonLabel" />
              <Tooltip resid="paneReadButtonTooltip" />
              <Supertip>
                <Title resid="paneReadSuperTipTitle" />
                <Description resid="paneReadSuperTipDescription" />
              </Supertip>
              <Icon>
                <bt:Image size="16" resid="green-icon-16" />
                <bt:Image size="32" resid="green-icon-32" />
                <bt:Image size="80" resid="green-icon-80" />
              </Icon>
              <Action xsi:type="ShowTaskpane">
                <SourceLocation resid="readTaskPaneUrl" />
              </Action>
            </Control>
          </Group>
        </OfficeTab>
      </ExtensionPoint>

希望这对其他人有所帮助,因为它帮助了我。

于 2015-12-04T11:07:50.530 回答