Мультизаполнение используется для создания этикеток, ценников, визиток, файлов XML (YML), а также для заполнения конвертов и любых других комплектов документов, которые берут данные из предварительно заполненного Excel файла (*.xls, *.xlsx, *xlsm) или текстового файла *.csv. Для файла csv, при сохранении в Excel, должен быть выбран формат "CSV (разделитель — запятая)" или "CSV UTF-8 (разделитель — запятая)" для Юникода. Также должен быть установлен провайдер Microsoft.ACE.OLEDB.
Для создания комплектов документов с разными наборами данных необходимо использовать Excel таблицу, в которой в первой строке указаны названия меток, а в последующих строках данные для этих меток. Будет создано столько наборов документов, сколько строк с данными в таблице, а если есть колонка с зарезервированным названием "Count*", то для каждой строки будет создано одинаковых документов указанное число раз (для режима "демо" не работает).
Для того, чтобы созданные наборы данных было легче различать, можно название одной из колонок пометить маркером "#", например, "#название", тогда значение из этой колонки будет использоваться для названия папки с созданным набором документов (одновременно из Excel можно заполнять несколько документов) , если знаком "#" отмечено несколько колонок, то для названия папки будут использоваться все отмеченные значения, разделенные знаком подчеркивания.
Для удобства заполнения файла, название колонки может иметь знак "&" в конце, например, «ФИО&». Тогда, если в этой колонке будет пустая ячейка, то берётся значение из последней заполненной ячейки выше. Другими словами, последняя заполненная ячейка дублируется для всех пустых ячеек ниже. Тоже самое происходит, если в свойствах метки установлен флажок "обязательная к заполнению".
Также в конце названия колонки можно поставить знак нижнего подчеркивания, например, «ФИО_» — это будет равнозначно установленному флажку "дополнить подчеркивание" в зависимой метке типа "текст" или в метке типа "формула". Возможны варианты «ФИО_&» или «ФИО&_».
Название колонки, как метка не обязательно должна существовать в проекте или заполняемых документах, например, метка может быть только в документах, а метка с названием колонки, имеющая маркер #, может отсутствовать везде. При мультизаплнении значения меток каждой строки Excel переписываются в поля меток проекта (если одноименные метки в проекте есть), поэтому в документе можно использовать зависимые метки и метки типа "формула" рассчитываемые в проекте.
Пример Excel файла для мультизапонения ценников.
В результате мультизаполнения в системную папку созданных документов будут добавлены подпапки с названиями, взятыми из колонок помеченных маркерами "#" или, если нет таких, то для названия будет использоваться значение метки, указанной в настройках проекта (см. Метка для названия архива), а если и в настройках не указана эта метка, то названия папок будут в виде номеров по порядку. В архиве эти папки будут лежать в общей папке со словом "Excel" и текущей датой и временем, например Excel_20150308_164951. Если в настройках установлен флажок "все в одном файле" (см. описание ниже), то в подпапки записываются только служебные файлы с данными.
Проверка данных при мультизаполнении не производится. Для флажков, в Excel должны быть указаны "0" или "1". Значение, для метки таблицы, должно быть разделено на ячейки тегами <td>, а на строки тегами <tr>, например: 100<td>200<tr>500<td>600
В колонки с метками типа "формула" или "картинка" можно записывать специальные выражения, например, "{##C:\Pcture\CustomPct.jpg; 2; 3}" или "{#CustomPct.jpg; 2; 3}" - метка формулы (картинки) в документе будет заменена картинкой CustomPct.jpg, в первом выражении картинка берется с диска, во втором из списка картинок проекта. Картинка будет уменьшена по ширине и высоте до 2см и 3см (выражение, заключенное в фигурные скобки, должно быть в кавычках). Если колонки с метками формул отсутствуют, то будут использоваться значения выражений из формул проекта.
В окне свойств шаблона можно задать дополнительные настройки для мультизаполнения в один общий файл, а также число комплектов меток в одном шаблоне.
Если флажок "все в одном файле" установлен, то при мультизаполнении шаблонов данными из Excel файла, все заполненные шаблоны помещаются в один общий файл, иначе каждый шаблон, заполненный данными из строки Excel файла, будет сохранен в отдельную папку. Дополнительно в общем файле можно принудительно вставлять разрывы страниц между вставляемыми блоками.
Примечание. Если установлен флажок "все в одном файле", то возможны проблемы с нумерованными списками - нумерация будет продолжаться. Самое простое, это не использовать нумерованные списки в Word шаблонах, а создать нумерацию вручную. Также, у нас можно заказать встроенный в шаблон макрос, который будет сбрасывать нумерацию во всех частях общего документа в 1.
Если шаблон содержит несколько однотипных наборов меток для заполнения ценников, этикеток, стикеров, визиток и т.д., то дополнительно в свойствах шаблона, необходимо указать число комплектов меток. При этом каждый комплект меток (ценник) должен иметь суффикс (знак решетки с порядковым номером набора) - метка1#1, метка2#1, метка3#1...метка1#2, метка2#2, метка3#2...
Примечание. Для меток расположенных в закладках шаблонов Word, метки должны иметь вид: "dwc_ИмяМетки_n1", где "dwc_" обязательный префикс, а "_n1" суффикс порядкового номера набора меток.
Примечание. Если в шаблоне есть метки, которые не входят в размножаемый блок, то значения этих меток нужно задать в первой строке с данными в файле для мультизаполнения. Это, например, может быть общая сумма, значение которой можно задать формулой, суммирующей значения всех строк.
При мультизаполнении с сохранением в общий файл в шаблонах xml и htm необходимо указать начало и конец размножаемого блока с помощью строк <!--start_multi--> и <!--end_multi-->.
Например:
<?xml version="1.0" encoding="WINDOWS-1251"?>
<CATALOG>
<!--start_multi-->
<CD>
<TITLE>[название]</TITLE>
<ARTIST>[имя_арт]</ARTIST>
<COUNTRY>[страна]</COUNTRY>
<PRICE>[цена]</PRICE>
<YEAR>[год]</YEAR>
</CD>
<!--end_multi-->
</CATALOG
Эти же служебные строки можно использовать и для файлов txt. В заполненном документе служебные строки удаляются. Для того, чтобы в шаблоне Word размножался не весь документ, а лишь его часть (начало и конец документа остаются), необходимо эту часть пометить закладкой с именем "multi_block". Для этих же целей в Excel размножаемый диапазон ячеек должен иметь имя "multi_block" (именованный диапазон).
В шаблонах htm и xml метки можно скрыть, если записать их в виде «<!--[ИмяМетки]-->», в html это удобно, когда длинное название метки искажает форматирование, например,...<span style='font-size:36.0pt; font-family:"Arial Black","sans-serif"'><!--[цена_начальная_без_ндс_руб]--></span>...
В файле xml все строки (узлы), содержащие незаполненные метки (поле в окне "Заполнение" пустое) в виде «<!--[ИмяМетки]-->» будут удалены, что дает возможность при мультизаполнении создавать блоки с разными наборами узлов.
Для мультизаполнения можно автоматически создать файл-шаблон, в первой строке которого, перечислены все метки проекта (меню "Автозаполнение/Создать шаблон для мультизаполнения"). Вам останется только заполнить этот файл данными, сохранить и выбрать его в диалоге "Открыть файл" из меню "Мультизаполненение из Excel".
Если Excel файл для мультизаполнения имеет макрос с названием "MacroDWC" (Public, в любом VBA модуле), то он будет запущен перед началом заполнения документов. Этот макрос можно использовать для преобразования Excel файла, например для добавления строки с метками, форматирования ячеек или скрытия лишних строк.
Если в настройках проекта задан файл автоматизации, запускаемый до заполнения документов, то в этом файле можно запрограммировать любые действия с Excel файлом для мультизаполнения, такие же как в макросе "MacroDWC". Подробнее читайте в контекстной подсказке окна серверных настроек проекта.
Примечание. Если файл Excel для мультизаполнения находится в проектной папке шаблонов и имеет имя совпадающее с именем проекта, то по команде "Мультизаполненение из Excel" он выбирается автоматически и диалог "Открыть файл" не выводится.
Примечание. Если в файле Excel для мультизаполнения, строки скрыты, например, при включении фильтра, то такие строки пропускаются. Также для пропуска строк можно залить любым цветом первую ячейку в строке - будут обработаны только строки, у которых первые ячейки без заливки. Как альтернативу можно использовать колонку с зарезервированной системой именем "Skip*". В этой колонке запись любого знака (текста) будет отключать строку с данными, и она будет пропускаться.
Примечание. Дополнительно в файле Excel можно использовать зарезервированные системой колонки с названиями "Template*" и "File*". "Template*" - в эту колонку можно записать название шаблона или путь к шаблону (если в списке шаблонов созданы папки). Этот шаблон будет заполняться данными из строки Excel. Для задания названия создаваемого файла укажите это название в колонке "File*", если не указано, то будет использоваться название шаблона. Во всех созданных файлах из колонке "File*", знаки Юникода в их названиях будут заменяться знаком # (решетка). Названия колонок "Template*" и "File*" не являются системными метками и их можно использовать в проекте. Колонка с названием "Template*" должна находиться в первых 255 колонках файла Excel. Если в файле отсутствует колонка "Template*", то колонка "File*" игнорируется.
Примечание. Если файл мультизаполнения обрабатывается с помощью запросов ADO (см. параметры текущего проекта, флажок "обрабатывать файл мультизаполнения без Excel"), то для пропуска строк с данными, файл мультизаполнения должен содержать колонку с зарезервированным именем "Skip*" (заливка цветом и скрытие строк не работают). Названия меток в файле мультизаполнения не должны содержать точек и восклицательных знаков.
Примечание. Если первая строка - это названия меток, а вторая строка используется как полное название колонок, то в первой ячейке второй строки название колонки должно начинаться со знака тильды (~) или, если есть колонка Skip*, то поставьте любой знак во второй строке колонки Skip*.
Примечание. Если в книге есть несколько листов, то после выбора файла мультизаполнения будет выведен диалог с выбором нужного листа с данными. Лист, название которого начинается с тильды, например "~Списки", не будет выводиться в диалоге - такие листы можно использовать для служебных целей.
Примечание. В качестве источника для мультизаполнения можно использовать файл Excel, созданный при экспорте записей из архива. Это позволяет создать или сразу напечатать отобранные через фильтр архива документы.
Есть вопросы?