0

我开发了一个 Windows 窗体应用程序来生成 Word 报告。一开始,它在所有生成出色文档的 PC 上运行良好,在我添加了以下代码块后,它在某些 PC 上执行时停止生成报告。

object end = 0;
object start = 0;
string title = Regex.Replace(tab.Cell(1, 1).Range.Text, pattern, dati[7]);
Range rng = doc.Range(ref start, ref end);
rng.Text = title;
Object styleHeading2 = "Heading 2";
rng.set_Style(ref styleHeading2);
rng.Paragraphs.OutlineLevel = Word.WdOutlineLevel.wdOutlineLevel2;
rng.Paragraphs.SpaceAfter = 10;

我发现,在它不起作用的 PC 上,代码会引发以下异常: System.Runtime.InteropServices.COMException (0x800A16CA):具有指定名称的项目不存在。在 Microsoft.office.Interop.Word.Range.set_style(对象和道具)

你有什么解决办法吗??

谢谢你

4

1 回答 1

1

问题在于 Word 的语言。在我的电脑上 Word 是英文的,但我的同事有母语 Word,因此他们不理解命令:

 Object styleHeading2 = "Heading 2";

解决方案是使用 Word.WdBuiltinStyle 枚举设置样式,在这种情况下:

Object styleHeading2 = WdBuiltinStyle.wdStyleHeading2;
于 2020-11-25T11:23:22.213 回答