【问题标题】:Insert page break with Word使用 Word 插入分页符
【发布时间】:2015-07-03 17:26:36
【问题描述】:

我有一个创建大 Word 文档的 VBScript。我需要让它在末尾插入一个分页符,以便我可以插入另一个选择的文本,但是我无法让分页符工作。

我试过了

objWord.Documents(tempFile).Activate
Set objSelection = objWord.Selection
objSelection.InsertBreak(7)
objWord.Documents(tempFile).Activate
Set objSelection = objWord.Selection
objSelection.InsertBreak(wdPageBreak)
objWord.Documents(tempFile).Activate
Set objSelection = objWord.Selection
objSelection.InsertBreak Type:=7
objWord.Documents(tempFile).Activate
Set objSelection = objWord.Selection
objSelection.InsertBreak Type:wdPageBreak

它只是跳过它并插入所有文本而不创建分页符。

【问题讨论】:

  • VBScript 还是 VBA?你已经标记了两者。他们不一样。你的标题说VBA。您的第一段说 VBScript。

标签: vbscript ms-word


【解决方案1】:

我假设您使用的是 VBScript,因为您使用 objWord 而不是 Application 对象来引用 Word。我还假设您声明了On Error Resume Next,因为您应该在尝试在 VBScript 中使用其中一些方法时收到错误消息。 param:=value 语法不是 VBScript 的一部分。此外,像wdPageBreak 这样的常量需要在脚本中显式声明。

由于wdPageBreakInsertBreak() 的默认中断类型,您可以完全省略它。但是,您可能希望确保您确实在文档的末尾。为此,您可以使用Selection.EndKey(),传递wdStory 的值。例如:

Const wdStory = 6

objWord.Selection.EndKey wdStory
objWord.Selection.InsertBreak       ' No param needed here

【讨论】:

  • 它似乎仍然没有插入分页符。在我从另一个文档中选择并将文本粘贴到之前,我会先输入您的代码
  • 您确定没有获得新页面吗?也许您只是在错误的插入点插入文本。在运行上述代码之前和之后检查您的页数。
  • 是的,仍然是第 3/3 页,它应该在第 2 页插入中断并将所有文本放在第 3 页而不是一半在 2 和一半在 3。如果我还有 3 页当我根本不插入文本时
  • 我很困惑。在执行上面的代码之前你有 3 页还是 2 页?
  • 这有什么好运气吗,@AlexFerreira?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多