5

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

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

// Generate page break
object pageBreak = WdBreakType.wdPageBreak;
wordApp.Selection.InsertBreak(ref pageBreak);

但是,如果文档在上一页的空间不足之后自然地换到下一页,那么我真的不想生成分页符,否则我最终会得到一个空白页。

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

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

4

2 回答 2

5

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

line = wordApp.Selection.Information(wdFirstCharacterLineNumber)
col = wordApp.Selection.Information(wdFirstCharacterColumnNumber)

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

祝你好运!

于 2009-05-20T22:46:42.557 回答
0

您可以尝试在段落上设置属性,使其前面有分页符。如果 Word Automation API 允许设置它,我不会,但它似乎正是您所需要的。

于 2009-05-20T23:16:00.750 回答