Ответить на комментарий

Подстановка таблиц Excel в шаблоны Word

Программа заполнения документов позволяет вставлять в шаблоны Word не только значения из ячеек выделенной строки, но и целые таблицы, которые могут храниться на другом листе (или в другом файле Excel).

Что для этого нужно:

 

1. Включаем в настройках программы опцию вставки таблиц:

 

2. В исходной таблице Excel создаем столбец, где у нас будут храниться ссылки на вставляемые таблицы (столбец может называться как угодно),
выделяем ячейку в этом столбце (в строке с данными),
и нажимаем комбинацию клавиш Ctrl + Shift + T для вызова диалогового окна выбора таблицы:

диалоговое окно выбора вставляемой в шаблон Word таблицы

 

3. Из выпадающего списка выбираем имя листа, содержащего таблицу
(предварительно, можно выбрать другой файл, - если вставляемая таблица расположена во внешнем файле),
выбираем диапазон ячеек, и один из 4 доступных режимов вставки таблицы Excel в Word:

выбор диапазона ячеек таблицы, для вставки в шаблон Word

 

4. В выделенную ячейку исходной таблицы будет вставлена запись примерно такого вида:

<ExcelTable>/платежи/график/Excel

По этой записи надстройка FillDocuments понимает, что в шаблон Word, на место метки {Вставляемая таблица},
надо вставлять не текст ячейки, а таблицу, параметры вставки которой сохранены в этой ячейке.

 

Что обозначают параметры (разделенные слешем):

<ExcelTable> - это метка, которая говорит надстройке, что надо вставлять таблицу, а не текст ячейки

платежи - имя листа, с которого будет взята таблица

график - адрес или имя диапазона ячеек, который будет скопирован в шаблон Word

Excel - название режима вставки

 

Поэкспериментировав с выбором различных диапазонов и режимов, вы можете получить другие варианты метки, например:

<ExcelTable>34.xlsm/Спецификация/A2:F3/Word

Эта метка означает, что таблица будет скопирована из файла 34.xlsm, расположенного в папке Таблицы
(папка должна иметь именно такое название - Таблицы, и располагаться там же, где находится файл надстройки FillDocuments),
копироваться будет диапазон ячеек с A2 по F3, и при вставке будет выбран режим «использовать форматирование Word»


 

Что же делать, если количество строк во вставляемой таблице меняется, и задать фиксированный диапазон таблицы не получится?

Есть 2 варианта решения проблемы:

Способ 1:  вместо выбора диапазона, поставить галочку «все заполненные ячейки»

Обратите внимание - кнопка выбора диапазона становится недоступной, а в поле адреса высвечивается,
какой диапазон ячеек Excel считает заполненным на этом листе.

В диапазон могут попасть «пустые» строки или столбцы, - на самом деле, для Excel они не совсем пустые,
а, например, содержат какое-то форматирование или формулы.

Потому, чтобы этот способ корректно работал, необходимо выделить целиком лишние («пустые») строки и столбцы,
и нажать в меню Excel «Очистить - Очистить всё»

После этого (сохранения, закрытия и повтороного открытия файла со вставляемой таблицей),
в диапазон «заполненных ячеек» попадут только нужные ячейки.

 

Способ 2: сделать динамическую таблицу

Этот вариант посложнее (надо немного разбираться в формулах) - но он более универсальный,
и позволяет автоматизировать заполнение подставляемой таблицы (например, графика платежей)

Во вложении к статье - пример такой таблицы.

В первой строке таблицы прописаны формулы, и протянуты (с запасом) на 200 строк вниз
(т.е. во всех строках - одни и те же формулы)

Рамки ячеек в заполненных строках выполнены при помощи условного форматирования
(назначено правило для 5 столбцов - рисуем рамки, если ячейка в первом столбце непустая)

А имя нужного диапазона ячеек задано в диспетчере имён
(чтобы имя график всегда ссылалось на таблицу целиком,. независимо от количества строк, и чтобы в диапазон не попадали лишние строки и столбцы)

Имени график назначена формула =СМЕЩ(платежи!$A$1;0;0;платежи!$H$5+2;5)

 

 

 

Вложения:

Ответить

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
         ____    _  __   __     _____  _   _ 
___ |___ \ | |/ / / /_ |__ / | \ | |
/ __| __) | | ' / | '_ \ / / | \| |
| (__ / __/ | . \ | (_) | / /_ | |\ |
\___| |_____| |_|\_\ \___/ /____| |_| \_|
Введите код, изображенный в стиле ASCII-арт.