1

Тема: Печать документа

Помогите, пожалуйста. Я хочу чтоб мой макрос печатал 65 записей на странице из Num сколько я задам, при этом когда получается, что значение Var > Num, принтер печатает последнюю страницу множество экземпляров, пока его не остановишь. Как устранить эту ошибку!?!?!

    Var = 0
    Num = InputBox("Введите количество записей в базе", "Окно ввода текста")
    If Num = "" Then GoTo Label2
    'ERec = wdLastRecord
Label1:
    If Var <= Num Then
       ActiveDocument.MailMerge.DataSource.ActiveRecord = Var
       'ActiveDocument.PrintOut
       Var = Var + 65
       GoTo Label1
    Else:
          GoTo Label2
    End If
Label2:
End Sub

Заранее очень благодарна!!!!

2

Re: Печать документа

Попробуйте использовать такой цикл

Sub Макрос()

    Dim var As Long
    Dim num As Long
    
    'спросить количество
    On Error GoTo выход 'на случай нажатия Cancel или ввода нечислового значения
    num = InputBox("Введите количество записей в базе", "Окно ввода текста")
    On Error GoTo 0
    
    'выйти, если введено 0
    If num = 0 Then Exit Sub
        
    For var = 1 To num Step 65
    
       activeDocument.MailMerge.DataSource.ActiveRecord = var
       activeDocument.PrintOut
    
    Next var
    
выход:
End Sub