繁体   English   中英

如何编写 Paragraph.Next(Object) 方法以在 MS Word 文档中以编程方式 (C#) 在文本之后生成 2 个“下一个段落”?

[英]How do I write Paragraph.Next(Object) Method to produce 2 “Next Paragraphs” Programmatically (C#) in a MS Word Document after text?

我希望能够在我正在处理的 MSWord 文档中的文本之后放置 2 个段落。 它都是在自定义编译器设置中编写的,作为 word 中的插件。 不幸的是,我是一个 C# 初学者,我不能再对它做出正面或反面了。

Microsoft.Office.Interop.Word.Paragraph.Next(ref object count); 如果在文本之后以某种方式添加,甚至可以添加 1 段吗? 例如

以某种方式将Paragraph2声明为 2 x Microsoft.Office.Interop.Word.Paragraph.Next(ref object count); 并将按如下方式使用

string text = "Hello, World!";
BC.SetThisField(text + Paragraph2);

导致(Pilcrows 表示段落字符显示的样子):

你好世界!¶

微软文档的链接(下面)只是让我走上了研究refobject及其显然是 1 的count定义的道路。我什至没有成功使用默认值。

https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.word.paragraph.next?view=word-pia#Microsoft_Office_Interop_Word_Paragraph_Next_System_Object__

我曾想过,根据 stackoverflow 上提出的类似问题,我应该改用 Paragraphs.Add(Object) 方法,尽管我仍然会被卡住。

如果我正确理解了这个问题,你想插入文本,后跟两个段落标记? 最简单的 C# 将是:

string text = "Hello, World!\n\n";
BC.SetThisField(text);
  • \n\r在 Word 中生成段落标记 (ANSI 13)。

  • 另一种可能性是连接char(13)

  • 还有InsertParagraphAfter ,但这需要一个额外的步骤和一个目标Range object。

  • Paragraphs.Add()将插入一个段落,但为了插入多个段落,它必须在循环中运行,并且还需要Range object 作为目标。

Microsoft.Office.Interop.Word.Paragraph.Next(ref object count); 如果代码尝试对不存在的段落执行操作,则不会插入段落并将返回错误。 (例如,如果代码试图将文本分配给段落。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM