Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.08.2009, 01:58   #1
Kostaen
 
Регистрация: 22.08.2009
Сообщений: 3
По умолчанию Копирование таблиц из Excel в Word с помощью макроса

Всем доброе время суток! Пытаюсь найти алгоритм для переноса таблиц из книги excel в докумет word. Таблицы в книге находятся на разных листах (названия листов, подлежащих переносу начинаются с римских цифр, среди всех таблиц имеются также и скрытые таблицы). Необходимо заменить таблицы, уже имеющиеся в документе word (заголовки таблиц начинаются с римских цифр) на таблицы из книги с последующим их форматированием по ширине, ширина у таблиц разная и кроме заменяемых таблиц в документе имеется текст и пустые таблицы, которые заменять не стоит.
Хотелось посмотреть алгоритм на примере хотя бы двух таблиц.
Вложения
Тип файла: rar Проект предпроверочного анализа.rar (124.5 Кб, 18 просмотров)
Kostaen вне форума Ответить с цитированием
Старый 23.08.2009, 02:33   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Делать макрос долго и сложно - на него уйдёт много времени.
Не проще ли сделать всё это вручную?


Надо было изначально вставлять связанные таблицы:



Потом в любой момент времени нажали бы "Обновить связь", и не думали бы ни о каких макросах...


Ещё это поглядите:
Цитата:
Сделал программу для заполнения документов данными из таблицы Excel (из Excel в Word)

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

В качестве шаблонов могут выступать следующие типы файлов:
  • документы Word (расширения DOC, DOCX, DOCM)
  • шаблоны Word (расширения DOT, DOTX, DOTM)
  • книги Excel (расширения XLS, XLSX, XLSM, XLSB)
  • шаблоны Excel (расширения XLT, XLTX, XLTM)
  • текстовые документы (расширения TXT, DAT, XML и т.д.)

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

Количество шаблонов документов не ограничено


ПРОГРАММА ПОДДЕРЖИВАЕТ ФОРМИРОВАНИЕ ДОКУМЕНТОВ В ФОРМАТЕ PDF
(создаётся файл DOC, и преобразуется в PDF средствами Word 2007 - 2010)
--------------------------------
В каких случаях вам может пригодиться эта надстройка:
  • если у вас в таблице Excel хранится список контрагентов (с их реквизитами), и вы хотите нажатием одной кнопки формировать договоры, акты или коммерческие предложения для каждого из них
  • если в вашей таблице Excel хранятся паспортные данные сотрудников, и вам необходимо быстро сформировать по шаблону приказы или прочие документы в формате Word, заполнив созданные документы данными сотрудников
  • подготовить письма, уведомления, грамоты в формате PDF или Word, заполнив созданные файлы информацией с листа Excel
  • и т.д. и т.п. - надстройку можно применять для создания любых документов на основе данных из Excel
--------------------------------

Скачать надстройку можно здесь:
http://excelvba.ru/programmes/FillDocuments

Последний раз редактировалось EducatedFool; 28.03.2012 в 11:16.
EducatedFool вне форума Ответить с цитированием
Старый 23.08.2009, 11:37   #3
Kostaen
 
Регистрация: 22.08.2009
Сообщений: 3
По умолчанию

Это конечно идея неплохая, но есть одно НО..., вставленный объект при написании текста переносится на следующий лист целиком, а не по строкам, как настоящая таблица..., и форма текста объекта отличается от формы текста документа. Просто в текстовый документ будут вносится данные другими людьми, мои данные - все таблицы, обозначенные римскими цифрами в книге Excel, так что пердо мной стоит задача заполнить документ, не изменяя его исходной формы...
Я хотел бы посмотреть на примере переноса хотя бы одной таблицы, просто сам я не разбираюсь в операторах и функциях VBA, но есть умение и желание понимать и составлять алгоритмы...
Kostaen вне форума Ответить с цитированием
Старый 25.08.2009, 05:00   #4
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Да уж, времени и правда уйдет немало на написание такого макроса. Все таблицы разнотипные, значит нужно писать макрос для каждой таблицы отдельно. Кроме того, на одном листе должна находится одна таблица, а имя листа должно быть как-то связано с названием таблицы в документе. Муторная работа, одним словом
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Встраивание таблиц Word или Excel yngwie Win Api 2 23.06.2009 20:55
Копирование Word из в Excel Юрийpirs2008 Microsoft Office Excel 2 31.12.2008 05:11
Как создать новый файл Word из макроса Excel? Dorvir Microsoft Office Excel 12 08.07.2008 16:50
Интеграция таблиц excel в документ word SergeyPaterson Microsoft Office Excel 1 29.05.2008 23:39