2011-05-27 37 views
0

我正在使用一個插件,我需要在Outlook編輯器中轉換所選文本,特別是撰寫檢查器。OL 2007 Addin:從Outlook檢查器窗口中獲取HTML格式的選擇

文本轉換不應忽略文本格式存在,所以我正在考慮從選擇中獲取HTML格式的文本。

Outlook 2007/2010撰寫檢查項目是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?

在此先感謝。

回答

1

林不知道,但嘗試Range.Paste,Range.PasteSpecial和Range.PasteFormat方法。 我在使用這種方法在Excel.Range中的情況很相似。 辦公應用程序有自己的剪貼板,但沒有辦法訪問編程(傷心)

+0

我用剪貼板,謝謝。 – 2011-06-02 21:47:52

相關問題