![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
Пользователь
Регистрация: 26.12.2008
Сообщений: 73
|
![]()
Давайте хоть теперь четко разберемся с постановкой задачи
![]() 1) Как понимать? Цитата:
2) При печати надо печатать только активный лист из первой книги или все листы в первой книге (соответственно и обороты к ним)?
Четко сформулированная задача - половина решения!
<= Спасибо оставляем в отзывах ![]() |
|
![]() |
![]() |
![]() |
#12 |
Пользователь
Регистрация: 23.01.2009
Сообщений: 11
|
![]()
Каждый раз в первой книге - разное количество Листов (sheets). Весь текст кождого Листа (Sheet-a) помещается на одной стороне стандартного листа А4.
Вторая Книга содержит 3 стандартных Листа (Sheet-a), текст которых тоже помещается на одну сторону стандартного листа А4. Планируется к каждому листу (sheet-у) из первой книги на второй стороне листа А4 автоматически печатать соответствующий текст из второй Книги. |
![]() |
![]() |
![]() |
#13 | |
Пользователь
Регистрация: 26.12.2008
Сообщений: 73
|
![]() Цитата:
Четко сформулированная задача - половина решения!
<= Спасибо оставляем в отзывах ![]() |
|
![]() |
![]() |
![]() |
#14 |
Пользователь
Регистрация: 26.12.2008
Сообщений: 73
|
![]()
Если надо распечатать все листы из первой книги, то вставьте в книгу такой макрос и запускайте его (Печать):
Код:
![]()
Четко сформулированная задача - половина решения!
<= Спасибо оставляем в отзывах ![]() |
![]() |
![]() |
![]() |
#15 |
Пользователь
Регистрация: 23.01.2009
Сообщений: 11
|
![]() |
![]() |
![]() |
![]() |
#16 |
Пользователь
Регистрация: 23.01.2009
Сообщений: 11
|
![]()
[QUOTE=cent;193882]Если надо распечатать все листы из первой книги, то вставьте в книгу такой макрос и запускайте его (Печать):
[CODE]Sub Печать() Всё работает. Спасибо. =) Но почему то страницы из второй книги печатаются на отдельных листах. Ещё мне подсказали вот такой подход: Sub Кнопка1_Щелчок() Dim mess As String 'Объявляем переменную для вывода ошибок Select Case Range("A1").Value 'Проверяем значение В ячейке А1 Case "А" 'Если оно равно А выделяем лист 1 и лист 2 и печатаем на активный принтер 1 копию Sheets(Array("Лист1", "2")).Select ActiveWindow.SelectedSheets.PrintOu t Copies:=1 Case "Б" 'Тоже для выбора с Б Sheets(Array("Лист1", "3")).Select ActiveWindow.SelectedSheets.PrintOu t Copies:=1 Case "В" 'Тоже для выбора с В Sheets(Array("Лист1", "4")).Select ActiveWindow.SelectedSheets.PrintOu t Copies:=1 Case Else 'Если в ячейке както другое значение то выводим информацию об ошибке mess = MsgBox("Value not Selecting", vbCritical + vbOKOnly, "Info about printing") End Select Sheets("Лист1").Select 'Обязательно снимаем выделение. Если этого не сделать, то при работе с группой возможны очень неприятные последствия, как то: редактирование значения в ячейке А1 в группе листов приводит к редактированию на всех листах. End Sub Но он работает только в пределах одной книги. Можно ли как нибудь объединить эти 2 метода? |
![]() |
![]() |
![]() |
#17 |
Пользователь
Регистрация: 26.12.2008
Сообщений: 73
|
![]()
Исходя из вашего кода получилось нечто такое
![]() Код:
видимо нужна помощь зала ![]()
Четко сформулированная задача - половина решения!
<= Спасибо оставляем в отзывах ![]() Последний раз редактировалось cent; 27.01.2009 в 13:57. |
![]() |
![]() |
![]() |
#18 |
Пользователь
Регистрация: 23.01.2009
Сообщений: 11
|
![]()
Из разных Книг видимо выделить массив листов неудасться.
А как можно модернизировать его (макрос), что бы в начале макроса он (макрос) копировал три Листа из второй Книги в Первую, после чего распечатал бы листы (на которых в ячейке А1 стоит значение "А", "Б" или "В") с соответствующими Листами уже из Книги1 (скопированными из Книги2 в начале макроса), после чего удалил бы скопированные Листы? Получилось немного пуанно... но очень надеюсь на вашу помощь. |
![]() |
![]() |
![]() |
#19 |
Пользователь
Регистрация: 23.01.2009
Сообщений: 11
|
![]()
Вот в таком варианте всё работает как надо - печатаются нужные листы на 2-х сторонах... =)
Но это всё работает если известны имена и количество листов, которые необходимо напечатать. Подскажите как реализовать то же самое при неизвестном количестве Листов и их Именах (что бы он сам перебирал все Листы) |
![]() |
![]() |
![]() |
#20 |
Пользователь
Регистрация: 26.12.2008
Сообщений: 73
|
![]()
Вот окончательный вариант
Код:
Четко сформулированная задача - половина решения!
<= Спасибо оставляем в отзывах ![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
перехват отправления чужими программами отправки на печать документов | Nat | Win Api | 7 | 20.04.2007 16:07 |
Нужна помощь | LeoN | Общие вопросы Delphi | 12 | 18.03.2007 07:58 |
Нужна помощь! | mEka | Помощь студентам | 2 | 04.03.2007 01:39 |