我正在使用WPF .NET Core 3.1
应用程序来自动化Microsoft WORD
. 我们知道Office COM
引用不适用于 .NET Core 3.1。但是有一种解决方法,如此处所述或此处官方 .NET Core Excel 示例中的部分所述或此处解释的其他解决方法。Note
上述解决方法几乎适用于我的WPF Core 3.1
应用程序的所有WORD
自动化情况,除了在某些情况下,例如下面显示的情况,我在代码的最后一行收到以下错误:
代码:
....
using WORD = Microsoft.Office.Interop.Word;
oApp = new WORD.Application();
oApp.Visible = true;
WORD.Document oDoc = oApp.Documents.Open(@"C:\tmp\Test.docx");
string st = oDoc.Paragraphs[1].Range.Text; //this line correctly shows the content of Paragraph[1]
st = oDoc.Paragraphs[1].get_Style().NameLocal; //this line throws the error shown below
错误:
System._ComObject 不包含 NameLocal 的定义
备注:我在 WPF 应用程序中的类似项目中不会出现上述错误.NET FullNetwork
。并且在那里它正确地显示该段落的值,oDoc.Paragraphs[1].get_Style().NameLocal
好像Normal
该段落是一个普通段落,或者它显示,例如,Heading 1
如果段落是一个标题 1 等。
问题:上述WPF .NET Core 3.1
应用程序中的错误可能是什么原因,我们该如何解决?