Страницы: 1
RSS
Как сделать аналог слияния Excel-WORD в самом EXCEL
 
Добрый вечер! Вопрос такой - есть определенная форма для вывода на печать (лист Форма), есть  исходные данные (лист исх. дан.). Задача распечатать лист Форма, используя последовательно данные из листа Исх.данн., т.е. я подготовил таблицу с исх. данными (22000 шт.), делее... должна начаться печать листа Форма, используя Исх. данн. (1-ая строка, 2-ая, ... 22000-ая)  
 
Заранее спасибо.
 
Алгоритм: перебираем циклом исходные данные, подставляя их в таблицу на втором листе. После каждого шага вызываем макрос вывода на печать активного листа ("Форма").  
Вот только не знаю - не переполнится ли очередь печати. Возможно, придётся задавать некий тайм-аут.
 
{quote}{login=Юрий М}{date=29.11.2012 08:49}{thema=}{post}Алгоритм: перебираем циклом исходные данные, подставляя их в таблицу на втором листе. После каждого шага вызываем макрос вывода на печать активного листа ("Форма").  
Вот только не знаю - не переполнится ли очередь печати. Возможно, придется задавать некий тайм-аут.{/post}{/quote}  
 
 
Ох.. макросы - это для меня что запредельное :-((
 
Попробуйте (сам на принтер не проверял :-)  
И расскажите, что происходит с очередью на печать.
 
Попробуйте надстройку для заполнения документов - там можно использовать и шаблоны Excel: <BR> http://excelvba.ru/programmes/FillDocuments
 
{quote}{login=Юрий М}{date=29.11.2012 09:02}{thema=}{post}Попробуйте (сам на принтер не проверял :-)  
И расскажите, что происходит с очередью на печать.{/post}{/quote}  
 
 
Выводит на принтер только первую строку
 
Извиняюсь - одну точку недосмотрел... Исправил.
 
{quote}{login=}{date=29.11.2012 09:15}{thema=Re: }{post}{quote}{login=Юрий М}{date=29.11.2012 09:02}{thema=}{post}Попробуйте (сам на принтер не проверял :-)  
И расскажите, что происходит с очередью на печать.{/post}{/quote}  
 
 
Выводит на принтер только первую строку{/post}{/quote}  
 
 
Забил в список 1000 записей - "распечатал" на принтере без бумаги - все нормально. Но..., я так понял в макросе нужно вручную прописывать каждую ячейку из исх. данных в лист формы (в реале это более 80 ячеек). Более того, все ссылки  уже проставлены. А можно ли так сделать, чтобы: форма с данными строка1 - печать, потом форма форма с данными строка2 - печать и т.д.?
 
Ничего вручную прописывать не нужно.
 
{quote}{login=Юрий М}{date=29.11.2012 09:52}{thema=}{post}Ничего вручную прописывать не нужно.{/post}{/quote}  
 
 
если я правильно понял, при смещении ячейки на один столбец вправо мне в макросе нужно заменить Cells(5, 3) на Cells(5, 4)? В примере был просто образец (хочу понять алгоритм) - в оригинале это полис ОСАГО - в исх. данных полностью все данные по полису, в Форме - шаблон полиса. Изначально эта конструкция была заточена под один полис - ввел данные - они отобразились в шаблоне, нажал печатать и отдал клиенту. Возникла проблема - срочно нужно печатать много договоров.  
Можно ли обобщить блок  
Cells(5, 3) = .Cells(i, 1)  
Cells(5, 5) = .Cells(i, 2)  
....  
чем-то типа:ЛИСТ!ФОРМА(I) = ИСХ.Данные(I)
 
Давайте иначе:  
Вместо строк  
Cells(5, 3) = .Cells(i, 1)  
Cells(5, 5) = .Cells(i, 2)  
напишите  
[C5] = .Cells(i, 1)'ячейке С5 будет присвоено значение из первого столбца
[E5] = .Cells(i, 2)'ячейке Е5 будет присвоено значение из второго столбца
Так понятнее?
Страницы: 1
Читают тему
Наверх