【问题标题】:Creation of an outlook addin <VB.NET, VSTO>创建 Outlook 插件 <VB.NET, VSTO>
【发布时间】:2018-12-24 16:54:27
【问题描述】:

我使用 VSTO VB.net 创建了一个 Outlook 插件。此 Outlook 插件用于选择电子邮件类别(受限、未分类或机密)。

在选择这些类别中的任何一个后,它应该反映在电子邮件正文的第一行,显示此电子邮件是受限/未分类还是机密。

当电子邮件正文为空时,此加载项工作正常。但是当电子邮件正文已经包含内容并且当我选择电子邮件类别时,它会清除电子邮件正文内容并写入电子邮件类别类型。

我正在尝试将电子邮件类别类型附加到电子邮件正文的第一行,并且当我更改类别类型时,它应该相应地更新。

谁能帮我指点一下。我是 VB.Net 的新手,我不想在没有任何试用工作的情况下发布任何问题。下面是我的代码。

Imports System.Windows.Forms
Imports Microsoft.Office.Tools.Ribbon

Public Class Ribbon1

Private Sub Ribbon1_Load(ByVal sender As System.Object, ByVal e As RibbonUIEventArgs) Handles MyBase.Load

End Sub

Private Sub Button1_Click(sender As Object, e As RibbonControlEventArgs)

Dim application As Outlook.Application = Globals.ThisAddIn.Application
Dim inspector As Outlook.Inspector = application.ActiveInspector
Dim mailItem As Outlook.MailItem = CType(inspector.CurrentItem, Outlook.MailItem)
mailItem.BodyFormat = Outlook.OlBodyFormat.olFormatHTML

mailItem.HTMLBody = "<i style=""color:red;""><b>" & "Message : Confidential" & "</b></i>" & mailItem.HTMLBody


End Sub

Private Sub Button3_Click(sender As Object, e As RibbonControlEventArgs)

Dim application As Outlook.Application = Globals.ThisAddIn.Application
Dim inspector As Outlook.Inspector = application.ActiveInspector
Dim mailItem As Outlook.MailItem = CType(inspector.CurrentItem, Outlook.MailItem)

mailItem.HTMLBody = "<i style=""color:maroon;""><b>" & "Message : Restricted" & "</b></i>" & mailItem.HTMLBody

End Sub

Private Sub Button2_Click(sender As Object, e As RibbonControlEventArgs)


Dim application As Outlook.Application = Globals.ThisAddIn.Application
Dim inspector As Outlook.Inspector = application.ActiveInspector
Dim mailItem As Outlook.MailItem = CType(inspector.CurrentItem, Outlook.MailItem)

mailItem.HTMLBody = "<i style=""color:silver;""><b>" & "Message : Unclassified" & "</b></i>" & mailItem.HTMLBody

End Sub

【问题讨论】:

    标签: vb.net vsto


    【解决方案1】:

    如果没有进行广泛的测试,您的关键问题是您在 headbody 标记之前放置了非法 HTML 元素 - 因此无法显示正确的信息,从而创建看似空的电子邮件(或实际上可能为空,因为 MS 可以丢弃非法代码)。

    为了帮助您自己,请使用Debug.PrintConsole.Writeline 并将您现有的 HTMLBody 输出到您的即时\输出窗口。在那里,您将看到该构造并确定它是否已经具有 &lt;head&gt;&lt;body&gt; 标记。

    从那里,您必须弄清楚如何将分类标签插入&lt;body&gt; 标签。这可以使用 VB.NET 中的 XML 工具来完成,或者您可以构建一个相当复杂的字符串解析函数来拆分现有字符串并将新元素插入到正确的位置。

    【讨论】:

      猜你喜欢
      • 2016-02-09
      • 1970-01-01
      • 2019-06-14
      • 2010-12-10
      • 2019-01-21
      • 1970-01-01
      • 1970-01-01
      • 2013-08-31
      • 1970-01-01
      相关资源
      最近更新 更多