powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как сделать умный макрос для печати определенных страниц из одной открытой книги?
25 сообщений из 62, страница 2 из 3
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36475726
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gleod"Установка колонтитулов с номером страницы"
Здесь, если можно,по детальнее, какая связь с моим вопросом? Я вроде бы о колонтитулах нигде не упоминал.Я просто не совсем верно понял ваше сообщение, в котором вы говорили про установку номеров страниц. Думал проблема именно в выводе номеров.
Прочитал ещё раз, понял что речь немного о другом.
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36475740
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так, я думаю, если надо выводить на просмотр только выбранные листы, то надо в коде жёстко задавать область печати каждого листа перед просмотром, т.е. например хочу 2-3 лист:
Код: plaintext
1.
ActiveSheet.PageSetup.PrintArea = Range("A56:P167").Address
а перед печатью задавать заранее задуманную область печати на весь лист.
Динамически трудно будет угадать с границами страниц.
Вообще эти таблицы будут меняться в границах, или это жёсткие формы?
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36475798
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121,
почему, если печатать будет заданую страницу, то сойдет. Думаю что это не суть важно.
И я забыл еще сказать, что количество столбцов тоже будет меняться. В зависимости, от печатаемой ведомости.
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36475837
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Djon PlayerGleod"Установка колонтитулов с номером страницы"
Здесь, если можно,по детальнее, какая связь с моим вопросом? Я вроде бы о колонтитулах нигде не упоминал.Я просто не совсем верно понял ваше сообщение, в котором вы говорили про установку номеров страниц. Думал проблема именно в выводе номеров.
Прочитал ещё раз, понял что речь немного о другом.

Вы имете ввиду то что програма сама будет нумеровать страницы? Так это просто супер.
Ну, а если нет, то не т оже страшно.
Одним словом, исходите из того, что проще в написании и удобнее в работе.
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36475844
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так оно сейчас заданные и печатает. Пользователь открыл просмотр (если надо), глянул, какие листы хочет печатать, выбрал их и печатает. Можно ещё перед печатью границы подтянуть, например на примере в первом листе всё на одну страницу уместить.
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36475900
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121Так оно сейчас заданные и печатает. Пользователь открыл просмотр (если надо), глянул, какие листы хочет печатать, выбрал их и печатает. Можно ещё перед печатью границы подтянуть, например на примере в первом листе всё на одну страницу уместить.

" ... например на примере в первом листе всё на одну страницу уместить".
Так я этого и хотел. Но с ограничением, если на последний лист выводится , допустим не больше двух-трех строк. А если больше - тогда мне кажется, таблица будет тяжело читаться. Будет очень мелкий шрифт.
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36475933
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gleod,
А если : "Так оно сейчас заданные и печатает. Пользователь открыл просмотр (если надо), глянул, какие листы хочет печатать, выбрал их и печатает ..."
Тогда пусть так и остается. Я не могу проверит на практике потому, что принтер поломаный. За что дико извиняюсь!
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36475957
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть у меня древний рабочий код, разбивает лист по страницам в зависимости от числа строк, по 31 на лист (т.е. 31 - 1 лист, 32 - уже 2). Сейчас может уже иначе бы сделал, но как идея -
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
'k - количество генерируемых строк на определённом листе, высчитывается выше по коду
If k >  0  Then
Sheets("Лист1").Select
    If k >  16  Then
    x = k \  16 
        With ActiveSheet.PageSetup
        .FitToPagesWide =  1 
        .FitToPagesTall = x
        End With
    End If
  ActiveWindow.SelectedSheets.PrintOut Copies:= 1 , Collate:=True
End If

...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36475964
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если поломанный принтер - подключи виртуальный пдф. Думаешь я тут свою бумагу на тестах сейчас перевожу?
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36476151
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121,
Тогда куда еговставить нужно, этот код.
Как и не знаю как и куда вставить виртуальный пдф.И вообще. что это такое, тоже не знаю.
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36476240
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121,

но как идея
Наверняка хорошая! Но я еще очень слабо разбираюсь в кодах, поэтому и не могу правильно оценивать.
Отсюда, вам лучше знать, все ее преимущества и недостатки. А яч соглашусь с любой работающей.
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36476412
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GleodDjon PlayerGleod"Установка колонтитулов с номером страницы"
Здесь, если можно,по детальнее, какая связь с моим вопросом? Я вроде бы о колонтитулах нигде не упоминал.Я просто не совсем верно понял ваше сообщение, в котором вы говорили про установку номеров страниц. Думал проблема именно в выводе номеров.
Прочитал ещё раз, понял что речь немного о другом.

Вы имете ввиду то что програма сама будет нумеровать страницы? Так это просто супер.
Ну, а если нет, то не т оже страшно.
Одним словом, исходите из того, что проще в написании и удобнее в работе.Да, приведённый мной код предназначен для автоматической нумерации страниц.
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36476463
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Djon Player,
Наверное уже перетрудился. В который раз заглядываю и немогу найти этот, очень полезный, код нумерации.Всемдоброй ночи! Иду спать и я.
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36476732
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GleodHugo121,
Тогда куда еговставить нужно, этот код.
Как и не знаю как и куда вставить виртуальный пдф.И вообще. что это такое, тоже не знаю.
Ладно, про код пока вижу рано, тогда про принтер - есть программы например doPDF, PDFcreator_free, PdfFactory, Print2PDF и много других, которые печатают в файл. Если нет принтера (тем более, если вообще в системе нет принтера, то даже просмотр страницы невозможен, если я не путаю), это хороший вариант - можно например свои автоматически созданные документы распечатать позже на другой машине из *.pdf
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36477179
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GleodDjon Player,
Наверное уже перетрудился. В который раз заглядываю и немогу найти этот, очень полезный, код нумерации.Всемдоброй ночи! Иду спать и я.Код я писал тут.

В частности например так:
Код: plaintext
\nActiveSheet.PageSetup.CenterFooter = "&P" \'Центральный нижний колонтитул.\n
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36477211
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В колонтитул можно и ещё чего-нибудь написать - время распечатки, юзера, содержимое выбранных ячеек.
Ещё не забудьте про сквозные строки/столбцы, они тут тоже нужны, судя по задаче.
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36480518
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121,доброго вам весчера!
Наконец я добрался до ПК и могу вам отвечать. Пришлось срочно уехать в командировку по деласм службы.
Прошу прощения за свою тупость, но я не могу сообразить куда этот код надо вставить. И что еще, кроме нумерации страний он делает?
С уважением, автор!
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36480553
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Речь о колонтитуле?
Код: plaintext
1.
2.
3.
4.
 For i = first To last Step  2 
    ActiveSheet.PageSetup.CenterFooter = "&P" 'Центральный нижний колонтитул.
    Application.ActiveSheet.PrintOut From:=i, To:=i, Copies:=cbNcopy.Value, Collate:=True
 Next
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36480585
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, и для просмотра тоже продублируй
Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub CommandButton1_Click()
Me.Hide
ActiveSheet.PageSetup.CenterFooter = "&P" & " Просмотр осуществляет " & Application.UserName
ActiveWindow.SelectedSheets.PrintPreview
Me.Show
End Sub
иначе колонтитул заполнится только при печати.
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36482580
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Колонтитул - делаем иначе:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub Печать_вед()

With ActiveSheet.PageSetup
'  .LeftHeader = "&P" 'Левый верхний колонтитул.
'  .CenterHeader = "&P" 'Центральный верхний колонтитул.
'  .RightHeader = "&P" 'Правый верхний колонтитул.
'  .LeftFooter = "&P" 'Левый нижний колонтитул.
  .CenterFooter = "&P" 'Центральный нижний колонтитул.
'  .RightFooter = "&P" 'Правый нижний колонтитул.
End With

frmPrinter.Show
End Sub
Определяем колонтитулы только один раз, при нажатии на кнопку "Печать". Правда в этом варианте колонтитул задаётся только активному листу, возможно лучше задавать сразу всей книге, иначе при переходе по листам при открытой форме колонтитул будет только на листе, с которого запускалась форма.
Ещё форме не хватает выбора принтера - я тут на досуге попробовал добавить - наполовину получилось (дома работает, на работе нет :) ). Опыта в принтерах маловато...
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36482697
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121,
Добрый день! У нас в Киеве он солнечный и , как для зимы, сравнительно теплый. Дай Бог и вам таког же. И такого же, солнечно-теплого, настроения на всю рабочую неделлю.

Установил ваши последние коды. В целом прога печать работает, но есть нюансы:
1). Почему то на счетчиках всегда высвечиваются одни и те же цифры, независимо от количества страниц в листе.
НЕ знаю может это так и жолжно быть, и на печать оно никак не влияет, но это очень неудобно в работе. Иногда сбивает с толку. Мне кажется, что в автономном режиме на счетчиках должны отражаться: либо правильное количество листов, либо они должны обнуляться при перезагрузке проги. Или что то третье, о чем я не догадываюсь, но в этом роде.
2) Напишите, пожалуйста, какая строка или строки кода добавляют/убавляют в колонтитул каждое ( отдельно взятое) словосочетание из имеющегося там списка. Например, хочу поменять на такую: «Страница 1 из 2», но не знаю как.
3). В автономном режиме не сжимается лист, если на последнюю страницу переходит не больше двух строк. Если это не очень сложно сделать, тогда,да! А если очень сложно - обойдусь и без этогой операции.
4) И в трех словах, куда вставить сегодня присланый код?
Вот пока и все. Убегаю в налоговую. Вернусь на рабочее место, наверное, уже после обеда.
С уважением, автор!
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36482763
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) Счётчики - это где устанавливаем количество страниц для печати? Там так прописано в коде/свойствах элементов - ставим 1. Может ставить 0 и если юзер не поменял, печатать всё?
Как определить общее количество страниц листа, пока не знаю. Думаю, без предпросмотра или отправки на печать не определить. Может кто подскажет?
2) Выше уже написал, по заказу:

Код: plaintext
1.
2.
3.
4.
5.
6.
Sub Печать_вед()
With ActiveSheet.PageSetup
  .CenterFooter = "Страница " & "&P" & " из " & "&N" 'Центральный нижний колонтитул.
End With
   frmPrinter.Show
End Sub
3) Так сразу не скажу, надо пробовать, но что-то кажется, что код простым не будет.
4) В модуле дополнить код, который выполняется по клику на кнопке.
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36483975
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал всё, кроме 3), проверьте, погоняйте. Как бонус добавил выбор принтеров.
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36484337
Gleod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121,
Good you day and all creature comfortses!
последний ваш вариант проверил в работе путеом создания листов с разным количечтвом страниц. Работает прекрасно. СПВСИБОООО вам большущее за дружескую помощь!!!!!!!
И два доп. вопроса.
1) А всьо таки, какая строка и какого макроса, создает запись у колонтитуле? Это нужно на случайЮ если захочется изменить содержимое колонтитула.
2) При копированни в другую книгу всех этих кодов (без их изменения) счетчик справаЮ прказывает на 2 страницы больше. В чем причина?
С уважением, автор!
...
Рейтинг: 0 / 0
Как сделать умный макрос для печати определенных страниц из одной открытой книги?
    #36484376
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) Поищи в коде модуля CenterFooter - вот там оно и есть! Да и тут пару постов выше тоже.
2) Код, который это делает - Function page(x As Range) в модуле. Код чужой, я раньше его скопировал в запасник, вот пригодился. Я стал его проверять, оказалось всегда показывает 1 страницу. Исправил повыкидывав половину, вроде стал работать, но вероятно не на 100%. Так что тут ничего больше сказать не могу... Может кто поопытнее поправит, у меня он работает корректно и на 6 страниц, и на 1...
...
Рейтинг: 0 / 0
25 сообщений из 62, страница 2 из 3
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как сделать умный макрос для печати определенных страниц из одной открытой книги?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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