我正在使用一个插件,需要在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)访问