Заполнить таблицу в шаблоне Word с помощью VBA?
Я заполняю шаблон Word данными, собранными из пользовательского ввода. В частности, выбирается (переменное) количество документов, и информация о каждом документе заполняет строку таблицы.
Я заложил несколько элементов в шаблон и успешно заполнил информацию в заголовке из моего макроса,но в таблице я не так уверен. Я поставил закладку в первую ячейку и попробовал табулировать (с помощью Chr(9)), а также попытался передать массив. (В шаблоне таблица имеет только первый ряд. Обычно табуляция после последнего столбца создает дополнительную строку.)
Я могу восстановить содержимое ячейки с помощью
Word.Application.ActiveDocument.Tables(1).Cell(3, 1).Range.Text
Но не могу написать ни в одну ячейку, кроме первой, где я разместил закладку.
Может ли кто-нибудь предложить возможное решение для заполнения таблицы?
2 ответов:
Чтобы заполнить таблицу, используйте этот код
ActiveDocument.Tables(1).Cell(1, 1).Range.Text = "Blah Blah"Это будет запись в первую ячейку в первой таблице. Используйте цикл для заполнения остальных ячеек.
Я бы также рекомендовал посмотреть эту ссылку.
Тема: автоматизация таблиц слов для вставки и извлечения данных
Ссылка: http://msdn.microsoft.com/en-us/library/aa537149%28v=office.11%29.aspx#Y1254
Выдержка :
Резюме: узнайте, как автоматизировать создание и форматирование таблиц в Word. Получите информацию об оптимизации производительности, заполнении таблицы данными, форматировании структуры таблицы, связывании данных таблицы и извлечении данных из таблицы. (25 печатных страниц)
Я действительно столкнулся с подобной проблемой, используя Access для автоматизации заполнения шаблона таблицы Word. Я обнаружил, что если я открыл шаблон в Word до запуска сценария VBA, то документ Word успешно заполняется табличной информацией. Мой код похож на ваш в том, что касается добавления к нему строк. Поскольку количество полей, передаваемых в форму, является динамическим, казалось, что закладки для каждого раздела не будут работать. Если у вас есть какие-либо новости, я буду счастлив услышать о другом способе решения этой проблемы.
Comments