нужно пропустить строку, содержащую текст Word Macro - PullRequest
0 голосов
/ 24 июня 2019

Мне нужно распечатать документы, и для этого нужно:

  1. Страница Sumarry должна печататься на одной странице (на самом деле всегда на одной странице), но следующая страница печатается поверх нее, т.е. поэтому мы добавили пустую страницу после каждой страницы сводки, используя макрос.
  2. Если «Роялти» заканчивается нечетным номером (пример, начинающийся на странице № 2 и заканчивающийся на 3, означает всего 3 страницы), тогда нужно добавить пустую страницу. Таким образом, следующий раздел резюме начнет печататься на новой странице, а не в конце конечной страницы.

то, что я написал до сих пор, выглядит следующим образом:

Sub Test()


InsertSectionBreaks "S U M M A R Y             "
  InsertSectionBreaks "R O Y A L T Y             "
End Sub

Sub InsertSectionBreaks(FindText As String)
  Dim FindRange As Word.Range, SectionRange As Word.Range
  Dim Found As Boolean

  Set FindRange = ActiveDocument.Content

  ' Find next section based on text, insert odd page section break just before
  FindRange.Find.ClearFormatting
  With FindRange.Find
    .Text = FindText
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindStop
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    Found = .Execute
  End With

  Do While Found
    'avoid adding a section break at beginning of document
    If FindRange.Information(wdActiveEndAdjustedPageNumber) > 1 Then
      Set SectionRange = FindRange.Duplicate
      SectionRange.Collapse wdCollapseStart
      SectionRange.InsertBreak Type:=wdSectionBreakOddPage
    End If
    FindRange.Collapse wdCollapseEnd
    Found = FindRange.Find.Execute
  Loop
End Sub

Это работает нормально, но название компании, которое я имею в той же строке, прежде чем "Сводка" или "Роялти" появится на пустой странице. вот изображение вывода, которое я получаю:

Output of above Macro

Я не понимаю, как это можно исправить, название компании должно остаться на той же странице. должен включать пустую страницу между ними. пожалуйста помоги.

1 Ответ

0 голосов
/ 24 июня 2019

Просто используйте правильный разрыв страницы, чтобы начать следующую страницу на нечетной или четной странице, и вам не понадобится макрос для добавления пустых страниц.

enter image description here

...