Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос для печати / 13 сообщений из 13, страница 1 из 1
03.04.2013, 15:01
    #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
03.04.2013, 15:23
    #38211319
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос для печати
Добавьте запрос начального номера (по аналогии с количеством), и вставьте его в поле номера перед началом цикла печати.
...
Рейтинг: 0 / 0
03.04.2013, 15:23
    #38211324
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос для печати
Есть ещё вариант - просто не сохраняйте документ при закрытии по окончании печати.
...
Рейтинг: 0 / 0
03.04.2013, 15:28
    #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
03.04.2013, 15:58
    #38211425
Marked
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос для печати
Akina,
Собственно, я раньше так и делал - не сохранял. Либо, если случайно забывал - вручную правил код поля. Но сейчас этим файлом будет пользоваться несколько человек, не все из них внимательно смотрят за мелочами... В общем, неизбежны фейлы. Хотелось застраховаться.


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

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

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

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

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

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


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