2016-04-21 35 views
1

我爲Office365(Word,Excel和Powerpoint)創建了一個附加應用程序,我希望在我的應用程序中使用新的線條和樣式獲取選定的文本。Office 365的應用程序 - 返回帶有樣式和格式的選定文本

我使用下面的代碼來做到這一點

function getSelectedData(hasSelectionCallback, noSelectionCallback) { 

var type = Office.CoercionType.Text; 

Office.context.document.getSelectedDataAsync(type, 
{ 
valueFormat: "formatted", filterType: "all" 
}, 
function (asyncResult) { 
var error = asyncResult.error; 
if (asyncResult.status === Office.AsyncResultStatus.Failed) 
{ 
console.log(error.name + ": " + error.message); 
} 
else { 
// Get selected data. 

} 
}); 
} 

我試圖與所有類型的強制,但沒有做什麼,我真正需要的。

例如,我想分析選定的數據,所以我可以知道新行在哪裏。

目前它只返回純文本,沒有格式或樣式。

我將不勝感激對我的問題的迴應。

謝謝!

回答

0

在Word中,有OpenXML(Office.CoercionType.Ooxml)強制,它會給你所有關於選擇的知識。 OOXML有些冗長,但儘可能詳細,你可能希望。

對於Excel和PowerPoint,我相信所有你可以得到的都是純文本,而不是任何格式信息(儘管我有點驚訝你不會獲得換行信息,好像它是文本內容的一部分,而不是格式化...)

希望這會有所幫助!

+0

你好邁克爾,我仍然無法找到代碼中的新行。 OOXML返回整個文檔,不僅選擇 –

1

這是一個有趣的問題。快速回答那就是getSelectedDataAsync方法的valueFormat可選參數是

  1. 只有在Excel支持(Word和PPT忽略此參數)
  2. 它不是爲了獲得選擇的實際風格(和我的意思是例如字體顏色,粗體,斜體等)。此參數的用途,更多用於值格式。因此,例如,如果un excel中的貨幣列的值爲「$ 1,000.00」,則非格式化值將爲1000.00,格式爲「$ 1,000.00」。您將看到具有日期和其他格式化值的類似行爲。

我鼓勵你嘗試新的Word和Excel API來獲取格式化信息。

請在此處查看sample for Word,瞭解如何獲取特定段落的選擇格式詳細信息。

也在Excel中檢查range formatting

希望這會有所幫助!

+0

附加的示例只適用於Word 2016 –

+1

這是正確的,這些API工作2016+ –

相關問題