【发布时间】:2016-07-25 11:51:23
【问题描述】:
我的代码:
public void inspectors_NewInspector(Inspector _Inspector)
{
try
{
if (_Inspector.CurrentItem is MailItem)
{
MailItem myMailItem = (MailItem)_Inspector.CurrentItem;
myMailItem.HTMLBody = "<html><table><tr><td>cursor</td></tr></table></html>";
Inspector insp = myMailItem.GetInspector;
insp.Activate();
Microsoft.Office.Interop.Word.Find uiFind = insp.WordEditor.Range().Find;
uiFind.Text = "cursor";
while (uiFind.Execute())
{
Microsoft.Office.Interop.Word.Range rng = uiFind.Parent;
rng.Select();
rng.Text = "";
break;
}
}
}
catch (System.Exception ex)
{
}
}
它正在为回复和转发来设置光标位置,但是在选择新邮件时,我会在下面的屏幕截图时获得异常。有人对摆脱这个错误有什么建议吗?
【问题讨论】:
-
你什么时候调用上面的代码?哪个活动?
-
可能那个时候inspector不存在,因为错误似乎发生在myMailItem.GetInspector。我希望当您回复/转发时,它不会打开新的检查器窗口,而只是在 Outlook Explorer 主窗口中创建新电子邮件。您可以在问题中包含整个方法代码吗?
-
如果 Inspector 可用作方法的参数,为什么还要使用 GetInspector 再次获取 Inspector?
-
我也试过了还是报错......
标签: c# vba outlook outlook-addin