如果我发送约会而不在代码中显示它,则使用剪贴板粘贴 RTF 文本不起作用

本文关键字:剪贴板 不起作用 文本 RTF 显示 约会 代码 如果 | 更新日期: 2023-09-27 17:57:11

我正在用Visual Studio 2010和c sharp开发一个应用程序。在此应用程序中,我正在创建一个约会项目,通过word文档将一些RTF文本粘贴到约会正文中并发送。以下是我的代码的一部分:

  public void SetAppointmentBodyViaWordDoc(ref Outlook.AppointmentItem appointment, string rtfText)

{ Outlook.Inspector inspector inspector = null; 尝试 { 约会。正文 = 字符串。空; 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); 检查员 = 任命。获取检查器; Word.Document appointmentItemDocument = inspector。WordEditor as Word.Document; 约会项目文档.应用程序.屏幕更新 = 假; foreach (Word.Window window in appointmentItemDocument.Windows) { 窗。Selection.WholeStory(); 窗。Selection.TypeBackspace(); 窗。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);
        }

}

当我打电话预约时。Display() 然后它完美运行,我可以看到并发送带有粘贴文本的约会。但是,如果我使用约会在代码中发送约会。Send() 方法不显示约会,那么它在正文中不携带粘贴的文本,收件人得到空正文。我需要在不显示约会的情况下发送它。如果有人对此问题有任何想法,请告诉我。

谢谢

苏里亚

如果我发送约会而不在代码中显示它,则使用剪贴板粘贴 RTF 文本不起作用

为什么不简单地设置 AppointmeentItem.RtfBody 属性呢?