powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос для печати
13 сообщений из 13, страница 1 из 1
Макрос для печати
    #38211238
Marked
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте

Нашел когда-то давно на просторах интернета макрос для Word, который позволяет напечатать много бланков с последовательными номерами. Однако у него есть недостаток, который стал очень мешать работе. Когда я провожу исследование, я запускаю макрос на нужное количество экземпляров (например, 50), все нормально печатается. Но, если сохранить документ, в следующий раз отображается номер 51 и печать начинается с него же. Т.е. этот макрос ведет сквозную нумерацию, которая мне совсем не нужна.
Как бы мне ее убрать? Заранее спасибо за ответы.

Код, который у меня сейчас.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub FilePrint()
  Dim CopiesCount As Long
  Dim sInputStr As String
  While Not IsNumeric(sInputStr)
    sInputStr = InputBox("Сколько бланков анкет печатать?", "Распечатка бланков", sInputStr)
    If Len(sInputStr) = 0 Then Exit Sub
  Wend
  For CopiesCount = 1 To Val(sInputStr)
    With ActiveDocument
      .PrintOut Copies:=1
      With .Fields(1)
        .Code.Text = Mid(.Code.Text, 1, InStr(.Code.Text, "\r") + 2) & Val(Trim(Mid(.Code.Text, InStr(.Code.Text, "\r") + 2))) + 1
        .Update
      End With
    End With
  Next
End Sub
...
Рейтинг: 0 / 0
Макрос для печати
    #38211319
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавьте запрос начального номера (по аналогии с количеством), и вставьте его в поле номера перед началом цикла печати.
...
Рейтинг: 0 / 0
Макрос для печати
    #38211324
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ещё вариант - просто не сохраняйте документ при закрытии по окончании печати.
...
Рейтинг: 0 / 0
Макрос для печати
    #38211340
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Sub FilePrint()
  Dim CopiesCount As Long
  Dim sInputStr As String
  While Not IsNumeric(sInputStr)
    sInputStr = InputBox("Сколько бланков анкет печатать?", "Распечатка бланков", sInputStr)
    If Len(sInputStr) = 0 Then Exit Sub
  Wend
  With ActiveDocument.Fields(1)
    .Code.Text = Mid(.Code.Text, 1, InStr(.Code.Text, "\r") + 2) & "1"
  End With
  For CopiesCount = 1 To Val(sInputStr)
    With ActiveDocument
      .PrintOut Copies:=1
      With .Fields(1)
        .Code.Text = Mid(.Code.Text, 1, InStr(.Code.Text, "\r") + 2) & Val(Trim(Mid(.Code.Text, InStr(.Code.Text, "\r") + 2))) + 1
        .Update
      End With
    End With
  Next
End Sub
...
Рейтинг: 0 / 0
Макрос для печати
    #38211425
Marked
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,
Собственно, я раньше так и делал - не сохранял. Либо, если случайно забывал - вручную правил код поля. Но сейчас этим файлом будет пользоваться несколько человек, не все из них внимательно смотрят за мелочами... В общем, неизбежны фейлы. Хотелось застраховаться.


Shocker.Pro,
Спасибо, все работает как нужно :)

А не подскажите, как в этом же коде отключить уведомление word о выходе за границы печати?
Я пробовал
Код: vbnet
1.
Application.DisplayAlerts = wdAlertsNone

, не работает.
...
Рейтинг: 0 / 0
Макрос для печати
    #38211435
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может поправить границы печати? )
...
Рейтинг: 0 / 0
Макрос для печати
    #38211465
Marked
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Я не совсем понимаю. Принтер, несмотря на предупреждение, печатает нормально. В документе поля тоже отображаются корректно. Я даже не понимаю, в чем проблема.
...
Рейтинг: 0 / 0
Макрос для печати
    #38211498
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какого размера поля у документа?
...
Рейтинг: 0 / 0
Макрос для печати
    #38211502
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proкакого размера поля у документа?и еще как вариант - неверно выбран размер бумаги. Можете приложить файл, предварительно убив с него всю секретную информацию
...
Рейтинг: 0 / 0
Макрос для печати
    #38211523
Marked
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Размер бумаги автоматически А4. Убрал весь текст кроме номера из макроса. Заполненная таблица полностью занимает страницу с полями:
нижнее 0,25
верхнее: 0,5
правое: 1,5
левое: 1,75.
...
Рейтинг: 0 / 0
Макрос для печати
    #38211626
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
далеко не все лазерные принтеры поддерживают нижнее поле 0,25 см
мой, например, предложил 0,43 см минимум
...
Рейтинг: 0 / 0
Макрос для печати
    #38211633
Marked
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Как раз принтер все печатает нормально, к нему претензий нет. Проблема только в уведомлении от word, поэтому я и хотел загасить их программными средствами, что бы не жать на кнопку по 50 раз.
...
Рейтинг: 0 / 0
Макрос для печати
    #38211681
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще раз
в том файле, что ты прислал стоит нижнее поле 0,25 см
такое поле твой принтер не поддерживает
поставь такое поле, которое поддерживает твой принтер - предупреждения не будет.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос для печати
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]