OL 2007加载项:从Outlook检查器窗口获取HTML格式的选择



我正在使用一个插件,需要在Outlook编辑器中转换选定的文本,特别是Compose检查器。

文本转换不应该忽略现有的文本格式,所以我想从所选内容中获取HTML格式的文本。

Outlook 2007/2010 Compose检查器项目是Word格式的,所以我使用了"复制到剪贴板"的技巧来获取当前选择,将其转换为范围,复制到剪贴板,并将HTML格式的数据返回如下:

private static void XFormMail(Inspector insp)
{
    Word.Document doc = (Word.Document)insp.WordEditor;
    Word.Selection sel = doc.Windows[1].Selection;
    Word.Range range = sel.Range;
    Debug.WriteLine(String.Format("Selection chars: {0}", sel.Characters.Count));
    Debug.WriteLine(String.Format("Selected text: {0}", sel.Text));
    Debug.WriteLine(String.Format("Selected XML: {0}", sel.XML));
    range.Copy();
    string h = (string)Clipboard.GetData(DataFormats.Html).ToString();
}

有没有任何方法可以直接从选择对象中获取HTML,而无需使用剪贴板或将范围导出到临时文件作为HTML?

提前谢谢。

我不确定,但请尝试Range.Paste、Range.PasteSpecial和Range.PosteFormat方法。我在Excel中使用这种方法。适用于微笑的情况。office应用程序有自己的剪贴板,但无法通过程序(sad)访问

最新更新