Word Automation:检测是否需要分页?

Ala*_*ark 5 c# automation ms-word break

我正在使用C#生成一个项目,该项目将使用Word Automation API生成Word文档.

我想在生成的文档中的特定点插入分页符,我目前正在使用以下代码成功执行此操作:

// Generate page break
object pageBreak = WdBreakType.wdPageBreak;
wordApp.Selection.InsertBreak(ref pageBreak);
Run Code Online (Sandbox Code Playgroud)

但是,如果在上一页的空间用完之后文档仍然自然地包裹在下一页上,那么我真的不想生成分页符,否则我最终会得到一个空白页面.

我真正想要的是能够找到光标的确切位置,如果它位于当前页面的第一行和第一列,那么我可以安全地假设没有必要插入分页符.

有没有办法访问光标的位置?或者另一种可以做同样事情的解决方案?这似乎是一个简单的要求,所以如果我错过了显而易见的事情,我会事先道歉.

ewb*_*wbi 5

假设您以编程方式构建文档的方式会导致wordApp.Selection正确反映文档中的实际(和相关)位置,您可以使用其Information属性和以下两个来确定其起始页面上的行和列. WdInformation枚举(此处显示为VBA;不确定.NET PIA语法是什么):

line = wordApp.Selection.Information(wdFirstCharacterLineNumber)
col = wordApp.Selection.Information(wdFirstCharacterColumnNumber)
Run Code Online (Sandbox Code Playgroud)

这些值对应于Word状态栏中显示的Ln和Col值.如果它们都等于1,那么您处于选择开始的页面的第一个位置.

祝好运!