2015-07-12 39 views
1

[短提問]:演員或轉換Powerpoint.TextRange到Word.Range

我如何可以投或轉換一個PowerPoint.TextRange到Word.Range?

[較長的說明]:

我試圖標記所選文本範圍爲PowerPoint 2013「不檢查拼寫」, ,從我的代碼。這是一個用C#編寫的PowerPoint插件, ,但我可以適應任何其他語言的示例(VBA,VB,PowerShell ...)

當然手動使用Review,Language Settings正在工作完美。

我的代碼從Microsoft.Office.Interop.PowerPoint.TextRange中獲取選定範圍 從Globals.ThisAddIn.Application.ActiveWindow.Selection.TextRange中讀取;

(我也開始用Microsoft.Office.Core.TextRange2一些測試)

這些對象包含LanguageID屬性。將其設置爲msoLanguageIDNoProofing會被忽略(儘管如此,其他實際語言也可以)。它與GUI顯示一致,其中有兩個屬性,選定的語言和單獨的複選框來禁用拼寫檢查。

我已經顯示了兩個類似範圍的TextRange屬性,一個是手動設置「不檢查拼寫」設置......並且它們似乎沒有明顯的差異。

所以我偶然發現了Microsoft.Office.Interop.Word.Range對象。 它包含了LanguageID和一個單獨的NoProofing屬性... 因此PowerPoint編輯範圍時可能會使用此Word對象。

我的問題是,我如何投射或轉換Powerpoint.TextRange爲Word.Range?

回答

0

這些是完全不同的對象。這些類型之間沒有直接轉換。您可以從一個複製屬性值並將它們設置爲另一個。或者以編程方式使用複製/粘貼操作。

+0

嗯...我想知道如何PowerPoint管理設置屬性...作爲屬性,我認爲我需要(.NoProofing)不在PowerPoint對象中。我也在考慮獲取一些上層對象(如.Selection),將其轉換並在Word一側再次下去...... –