0

我正在使用一个插件,我需要在 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 导出到临时文件?

提前致谢。

4

1 回答 1

1

我不确定,但请尝试 Range.Paste、Range.PasteSpecial 和 Range.PasteFormat 方法。我在类似情况下在 Excel.Range 中使用此方法。办公应用程序有自己的剪贴板,但无法以编程方式访问(悲伤)

于 2011-05-28T00:23:15.107 回答