Экспорт N количество записей данных из Excel в слово
Мне было интересно, возможно ли создать набор ввода данных из Microsoft Excel и экспортировать его непосредственно в Microsoft Word?
Например, если бы я создавал телефонную книгу с указанием имени, фамилии, адреса и номера телефона в Excel, это автоматически экспортировало бы данные в Word.
Я не собираюсь задавать количество записей в Word и копировать и вставлять, но, добавляя больше записей в Excel, данные переносятся из Excel в Word. Я сам не эксперт по кодированию, но я смотрел несколько видео на YouTube и ищу руководство.
2 ответа
Это старая команда, которая больше не отображается в пользовательском интерфейсе Word по умолчанию:InsertDatabase
, Вы найдете его в меню "Файл" / "Параметры" / "Лента" или "Панель быстрого доступа" в разделе "Все команды".
Это вставляет поле с именем Database
через набор диалоговых окон.
Get Data
это то же самое, что вы видите в слиянии почты при выборе источника данных. При этом используется любой допустимый метод подключения (в настоящее время ODBC или OLE DB - последний по умолчанию) для привязки к источнику данных. В вашем случае это лист Excel. Если вы присвоили данным имя диапазона, оно также доступно для выбора.Data options
Вы можете установить параметры запроса (фильтровать / сортировать то, что входит). Вы также можете настроить автоматический формат таблицы, чтобы выбрать предварительно определенный (или определенный пользователем) стиль таблицы.Insert Data
где записи могут быть выбраны. Это важно: активируйте флажокInsert Data as field
, Это то, что сделает данные динамическими.OK
вставить данные / поле. Результат будет выглядеть примерно так: вы можете увидеть (и отредактировать), нажав Alt+F9, чтобы переключиться с результата поля на код поля. Это информация о соединении.
{DATABASE \ d "C: \ Users \ [Имя пользователя]\Documents\SampleChart.xlsx" \c "Поставщик =Microsoft.ACE.OLEDB.12.0; Идентификатор пользователя = Администратор; Источник данных =C:\Users\ Синди Мейстер \ Документы \SampleChart.xlsx; Режим = Чтение; Расширенные свойства =\"HDR= ДА;IMEX=1;\";Jet OLEDB: Системная база данных =\"\";Jet OLEDB: Путь в реестре =\"\";Jet OLEDB: Тип двигателя =37;Jet OLEDB: Режим блокировки базы данных =0;Jet OLEDB: Глобальные частичные операции =2;Jet OLEDB: Глобальные массовые транзакции =1;Jet OLEDB: Новый пароль базы данных =\"\";Jet OLEDB: Создать Системная база данных =False;Jet OLEDB: зашифрованная база данных =False;Jet OLEDB: не копировать языковой стандарт на компактном =False;Jet OLEDB: компактный без восстановления реплик =False;Jet OLEDB:SFP=False;Jet OLEDB: поддержка сложных данных =False;Jet OLEDB: обойти проверку пользовательской информации = False "\ s" SELECT * FROM
ChartInfo
"\ h}
Это поле не будет обновляться автоматически при изменении чего-либо в Excel, вы должны принудительно обновить его, нажав на него и нажав F9. Или вы можете использовать макрос для этого. Проще всего, если вы не хотите просто обновлять все поля в теле документа, было бы добавить в закладки таблицу, плюс абзац на каждом конце и использовать
ActiveDocument.Bookmarks("Database").Range.Fields.Update
Мне кажется, что вы могли бы сделать это с чем-то не более сложным, чем поле LINK в Word, которое вы можете создать довольно просто с помощью Copy (в Excel), затем Paste Special>Paste Link (в Word), с подходящим форматом вставки. Если вы назовете диапазон Excel перед копированием и вставкой, диапазон в Word будет автоматически расходоваться / сокращаться в соответствии с тем, что происходит с диапазоном Excel. Код не требуется.