2017-08-27 86 views
0

我在Windows 10上的桌面應用程序中的以下C#代碼使用office-interop從粗體顯示MS WORD 2013中提取文本。我們可以在UWP應用程序中實現相同效果嗎?如果是的話如何?閱讀UWP中的MS WORD文檔

Microsoft.Office.Interop.Word.Range rng = docs.Content; 
Microsoft.Office.Interop.Word.Find find = rng.Find; 

find.Font.Bold = 1; 
find.Format = true; 

List<string> bolds = new List<string>(); 
while (find.Execute()) 
{ 
    bolds.Add(rng.Text); 
} 

回答

1

按照MSDN

並非所有的Win32和COM API都支持在UWP應用程序使用,請參閱Win32 and COM API

這是API reference所有的Windows運行時的命名空間

如果要創建一個側面載入的應用程序,您可以嘗試在經紀的運行時組件中使用Office互操作參考,請參閱http://blogs.msdn.com/b/wsdevsol/archive/2014/04/14/cheat-sheet-for-using-brokered-windows-runtime-components-for-side-loaded-windows-store-apps.aspx

但是你可以在Microsoft的git的網頁上檢查DesktopBridgeToUWP-Samples,也看到UWP Office Interop樣品

希望幫助

+0

您提供的鏈接中的[示例](https://stefanwick.com/2017/05/26/uwp-calling-office-interop-apis/)對於Excel來說看起來很有希望,因爲它將數據加載到Excel 。我正在尋找的是一種在與UWP應用程序交互時讀取/編輯WORD文檔的方法。可能嗎? – nam

+0

您是否檢查過桌面橋樑樣本? – msd

0

您可以使用OpenXML的SDK來讀取UWP應用程序Word文檔(DOCX/DOCM/DOTX/DOTM)。它可以作爲NuGet package

然後你可以使用LINQ在文檔中找到你需要的東西。你可以看看here的例子。

+0

你碰巧知道如何使用來自UWP的OpenXML SDK。或者可能是您可以指向的鏈接? – nam

+1

我還沒有在UWP中嘗試過它。但它應該與完整的.Net框架幾乎相同。由於OpenXML SDK 2.7與UWP支持的.Net Standard 1.3兼容,您應該簡單地將最新的NuGet包添加到項目中並開始使用它。此外,如果您在發佈模式下有編譯問題,請參閱此鏈接https://github.com/OfficeDev/Open-XML-SDK/issues/168 – Pavel