我正在 Visual Studio 2010 和 c sharp 中开发一个应用程序。在这个应用程序中,我正在创建一个约会项目,通过 word doc 在约会正文中粘贴一些 RTF 文本并发送它。以下是我的代码的一部分:
public void SetAppointmentBodyViaWordDoc(ref Outlook.AppointmentItem appointment, string rtfText)
{ Outlook.Inspector 检查员 = null; 尝试 { //appointment.Body = string.Empty; System.Windows.Forms.DataObject dataObject = new System.Windows.Forms.DataObject(); dataObject.SetData(DataFormats.Rtf, rtfText); System.Windows.Forms.Clipboard.Clear(); System.Windows.Forms.Clipboard.SetDataObject(dataObject, false, 10, 200); 检查员=约会。GetInspector;Word.Document 约会ItemDocument = 检查员.WordEditor as Word.Document; 约会项目文档.应用程序.屏幕更新=假;foreach(约会ItemDocument.Windows中的Word.Window窗口){window.Selection.WholeStory(); 窗口。选择。类型退格();window.Selection.Paste();
//move the cursor to the top
object story = Word.WdUnits.wdStory;
object missing = Missing.Value;
window.Selection.HomeKey(ref story, ref missing);
break;
}
appointmentItemDocument.Application.ScreenUpdating = true;
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show("Exception in SetAppointmentBodyViaWordDoc(): " + System.Environment.NewLine +
ex.ToString());
}
finally
{
if (inspector != null) Marshal.ReleaseComObject(inspector);
}
}
当我调用 Appointment.Display() 时,它可以完美运行,我可以查看并发送带有粘贴文本的约会。但是,如果我使用 Appointment.Send() 方法在代码中发送约会而不显示约会,那么它在正文中没有粘贴的文本,并且收件人的正文为空。我需要发送它而不显示约会。如果有人对此问题有任何想法,请告诉我。
非常感谢,
苏里亚