Word vba跳转到下一页

Word vba跳转到下一页,vba,ms-word,Vba,Ms Word,好, 因此,作为学徒,我需要记录我每天做的事情。由于这将是一个很长的文档,我编写了一个VBA脚本,它已经在其中写入了保持不变的内容,比如日期 问题是,格式应该是每页一周。这意味着,当我周六到达时,脚本必须跳转到下一页的开头(并可能用段落填充结果空间)。我完全不知道是否有任何函数可以帮助我。我认为应该有一个tho,这听起来不是一个太奇怪的问题 现在这不是一个关键的问题,但它仍然很烦人,我想知道是否有任何解决办法。到目前为止的研究也没有奏效 如果有助于理解,请编写一些代码。基本上是关于评论的部分:

好,

因此,作为学徒,我需要记录我每天做的事情。由于这将是一个很长的文档,我编写了一个VBA脚本,它已经在其中写入了保持不变的内容,比如日期

问题是,格式应该是每页一周。这意味着,当我周六到达时,脚本必须跳转到下一页的开头(并可能用段落填充结果空间)。我完全不知道是否有任何函数可以帮助我。我认为应该有一个tho,这听起来不是一个太奇怪的问题

现在这不是一个关键的问题,但它仍然很烦人,我想知道是否有任何解决办法。到目前为止的研究也没有奏效

如果有助于理解,请编写一些代码。基本上是关于评论的部分:

For i = InitDate To endDate
jump:
  If CurrentDate = endDate Then GoTo EndSub
    x = x + 1
    strWeekday = weekday(CurrentDate, vbUseSystemDayOfWeek)
    txtStr = Format(CurrentDate, "dddddd")
     With Selection
     .Font.Bold = True
     .Font.Underline = True
     .TypeText Text:=txtStr
     .TypeParagraph
    If x = 4 Then GoTo Thursday
    If x = 5 Then GoTo Friday
   'If x = 6 Then GoTo NewSheet
    If x = 6 Then x = 0

    .TypeParagraph
    End With
CurrentDate = CurrentDate + 1

Next i
将在文本末尾插入硬分页符。(或者,一般来说,对于
范围
变量
r
,在ChrW(12)
之后插入
r。然后您可以从那里继续

编辑 现在您已经添加了代码,我可以向您展示更多内容。但是,由于您没有包含所有代码,我无法提供将按原样运行的内容。此外,我认为您可以将
CurrentDate
替换为
I
(反之亦然)


欢迎访问该网站!查看更多有关提问的信息,这些问题将吸引高质量的答案。您可以添加更多信息。正如braX指出的,您尝试了什么?您的“迄今为止的研究”是否包括Google和MSDN?您是否考虑过手动分页符?;)到目前为止添加了代码。是的,手动分页符是我的解决办法,但必须有一个更简单的解决方案。参数12代表什么?手动分页符。Word将一些非ASCII字符用于特殊代码,例如,5表示注释标记,12表示分页符。像
^12
一样,也使用这些数字。
ActiveDocument.StoryRanges(wdMainTextStory).InsertAfter ChrW(12)
For i = InitDate To endDate
jump:
  If CurrentDate = endDate Then GoTo EndSub
    x = x + 1
    strWeekday = weekday(CurrentDate, vbUseSystemDayOfWeek)
    txtStr = Format(CurrentDate, "dddddd")
    With Selection
         .Font.Bold = True
         .Font.Underline = True
         .TypeText Text:=txtStr
         .TypeParagraph
    End With

     ' ** By the way, I would suggest you not GoTo out of a With block - that strikes me as likely to cause confusion later on.
     If x = 4 Then GoTo Donnerstag  
     If x = 5 Then GoTo Freitag
     'If x = 6 Then GoTo NewSheet
     If x = 6 Then       ' ** Try this
         Selection.InsertAfter ChrW(12)
         Selection.Collapse wdCollapseEnd
     End If
     If x = 6 Then x = 0

     Selection.TypeParagraph
     CurrentDate = CurrentDate + 1
Next i