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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2008, 18:13   #1
Volch
 
Регистрация: 19.10.2008
Сообщений: 7
По умолчанию Перенос данных из Excel в Word

Есть десяток листов в Екселе, в каждом по 300 чел с десятком данных. Надо сделать в Ворде письма каждому, т.е.600-страничный док (по 2 стр), куда эти данные и занести. Удалось создать только шаблон, куда все нормально вставляется. Но это для 1 человека, как сделать сразу для 300?
Volch вне форума Ответить с цитированием
Старый 19.10.2008, 18:35   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

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


--------------------- добавлено позже - вдруг кому окажется полезным ------------------------
Цитата:
Сделал программу для заполнения документов данными из таблицы 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 вне форума Ответить с цитированием
Старый 19.10.2008, 18:38   #3
tolikman
Форумчанин
 
Регистрация: 25.08.2008
Сообщений: 159
По умолчанию

копируй шаблон на след страници, а потом заполняй первый и т.д... пришли шаблон, или хотя бы пример. Проще будет.
tolikman вне форума Ответить с цитированием
Старый 19.10.2008, 19:06   #4
Volch
 
Регистрация: 19.10.2008
Сообщений: 7
По умолчанию

К сожалению, полные документы на работе, экспериментирую с этими
Вложения
Тип файла: doc TestDoc.doc (22.5 Кб, 211 просмотров)
Тип файла: zip Тарифы.zip (12.7 Кб, 201 просмотров)
Volch вне форума Ответить с цитированием
Старый 19.10.2008, 19:32   #5
Volch
 
Регистрация: 19.10.2008
Сообщений: 7
По умолчанию

То, что я набросал:
'For a = 1 To 3
Range("C2").Select
sOtd = ActiveCell.Value
Range("A2").Select
sFIO = ActiveCell.Value
Range("B2").Select
sDolg = ActiveCell.Value
Range("D2").Select
iOklad = ActiveCell.Value
'Next A

sFile = "C:\Documents and Settings\Администратор\Рабочий стол\Тарифы\Test1.dot"
Set objWord = New Word.Application
Set objDoc = objWord.Documents.Open(sFile)
With objWord
.Visible = True
.Selection.InsertAfter Format(Now, "Long date")
End With
objDoc.Bookmarks("FIO").Select
objWord.Selection.InsertAfter sFIO
objDoc.Bookmarks("Dolg").Select
objWord.Selection.InsertAfter sDolg
objDoc.Bookmarks("Otd").Select
objWord.Selection.InsertAfter sOtd
objDoc.Bookmarks("Oklad").Select
objWord.Selection.InsertAfter iOklad
objWord.ActiveDocument.SaveAs "C:\Documents and Settings\Администратор\Рабочий стол\Тарифы\TestDoc", doc
А как копировать\вставить из шаблона в новый док корректно?
Volch вне форума Ответить с цитированием
Старый 19.10.2008, 20:23   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вот один из вариантов решения задачи:

Распакуйте 2 файла из архива (во вложении) в одну папку (например, на Рабочий стол)
Запустите файл Excel
Нажмите желтую кнопку СОЗДАТЬ ПИСЬМА

В той же папке появится файл письма.doc

PS: Код может работать медленно, так как это далеко не самый эффективный метод решения задачи. Но он работает.
Вложения
Тип файла: rar письма.rar (16.6 Кб, 914 просмотров)
EducatedFool вне форума Ответить с цитированием
Старый 19.10.2008, 20:36   #7
Volch
 
Регистрация: 19.10.2008
Сообщений: 7
По умолчанию

Спасибо. Здорово. Изящно
Volch вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос данных Nesta1384 Microsoft Office Excel 4 19.01.2009 02:28
Перенос текста из Excel в Word Aleksandra Microsoft Office Word 3 23.09.2008 08:46
Перенос данных из MS Word в MS Excel ? Nickd5 Помощь студентам 2 28.06.2008 20:40
Перенос данных. Victor Microsoft Office Excel 8 01.09.2007 21:02