我试图以编程方式点击链接,该链接会创建一封电子邮件,其中包含电子邮件的预定义主题,收件人,抄送,密件抄送和正文内容。我的要求是,如果我选择一个Outlook邮件项目并单击“通过邮件批准“在我的Addin中,代码将搜索超链接”单击此处批准“在邮件正文中”并自动单击超链接。 超链接“单击此处批准”会创建一个电子邮件,其中包含电子邮件的预定义主题,to,cc,bcc和正文内容。 我不确定如何使用VSTO,因为所有其他解决方案建议使用JQuery和Javascript
Object selObject = this.Application.ActiveExplorer().Selection[1];
Outlook._MailItem eMail = (Outlook._MailItem)
this.Application.CreateItem(Outlook.OlItemType.olMailItem);
eMail = ((Outlook._MailItem)selObject);
if(eMail.HTMLBody.Contains("Approve"))
{
}
我不确定我能在代码的IF段写什么。请建议。
答案 0 :(得分:0)
Outlook不提供打开超链接的任何内容。您可以使用以下代码(Process.Start)在默认Web浏览器中打开它们:
Process.Start("your_hyperlink");
或者只是根据单击“批准”按钮的信息在Outlook中以编程方式创建邮件项目。
Outlook.MailItem mail = null;
Outlook.Recipients mailRecipients = null;
Outlook.Recipient mailRecipient = null;
try
{
mail = OutlookApp.CreateItem(Outlook.OlItemType.olMailItem)
as Outlook.MailItem;
mail.Subject = "A programatically generated e-mail";
mailRecipients = mail.Recipients;
mailRecipient = mailRecipients.Add("Eugene Astafiev");
mailRecipient.Resolve();
if (mailRecipient.Resolved)
{
mail.Send();
}
else
{
System.Windows.Forms.MessageBox.Show(
"There is no such record in your address book.");
}
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message,
"An exception is occured in the code of add-in.");
}
finally
{
if (mailRecipient != null) Marshal.ReleaseComObject(mailRecipient);
if (mailRecipients != null) Marshal.ReleaseComObject(mailRecipients);
if (mail != null) Marshal.ReleaseComObject(mail);
}
请查看以下文章以获取更多信息和样本: