powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Подстановка данных из excel в word
25 сообщений из 30, страница 1 из 2
Подстановка данных из excel в word
    #36905752
LeoNton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть книга екселя с исходными данными. В каждой строке уникальные значения, для каждой строки есть столбцы с инфой.
Например,
Договор Фирма Адрес
23 АА ГГГ
32 ББ ДДД

В ворде есть скопированные подряд шаблоны письма, количество которых равно количеству записей в ексель.

Мы заключили с вами /Фирма/, /Адрес/ договор номер /Договор/.

Как автоматически можно перенести данные из екселя в ворд? Подскажите хотя бы в сторону чего смотреть?
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #36905898
f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слияние.
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #36905917
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeoNton,

Лучше сделать не один файл Ворда с кучей ссылок, а примерно так:
- в книге Экзеля с данными пишем небольшой макрос, который текущую строку таблицы скидывает в некий "Буфер" (скажем, первую строку другого листа)
- берем шаблон одного письма и привязываем поля к ячейкам буферного листа исходной книги, созраняем как шаблон Ворд
- дописываем в макрос Экзеля после скидывания на буферный лист - открывать шаблое Ворда: при этом поля не только заполнятся нужными данными, но и будет моздан новый Вордовский документ, который можно сохранить отдельно

Как-то так...

Если сложно - могу выложить пример реализации.
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #36905950
LeoNton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM,
если не тяжело, то выложи)
Ни разу в жизни макросы не писал.
А здесь копировать-вставлять на всю ночь)
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #36905980
f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #36906012
LeoNton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
F,спасибо) Уже полчаса читаю слияние
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #36906233
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот примерно так. Поля в Word прсто скопированы как связи с ячейками Excel (Копировать--Спец.вставка-Связь в виде Неформатированный текст).
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #36906744
LeoNton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTM,
спасибо))
Хотя в 2007 офисе почему-то автоматически строчку на лист буфер не переносит
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Подстановка данных из excel в word
    #37726925
EducatedFool
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вдруг кому пригодится ...

Сделал программу для заполнения документов данными из таблицы 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 файл (с таблицей, содержащей строку заголовка)

Количество шаблонов документов не ограничено
--------------------------------
В каких случаях вам может пригодиться эта надстройка:

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

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

- подготовить письма, уведомления, грамоты в формате PDF или Word, заполнив созданные файлы информацией с листа Excel

- и т.д. и т.п. - надстройку можно применять для создания любых документов на основе данных из Excel
--------------------------------

Скачать надстройку можно здесь:
http://excelvba.ru/programmes/FillDocuments
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #37788605
ev8383
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTMВот примерно так. Поля в Word прсто скопированы как связи с ячейками Excel (Копировать--Спец.вставка-Связь в виде Неформатированный текст).

Подскажите, пожалуйста, можно ли переделать код, чтобы на выходе файл имел наименование, соответствующее ячейкам, например "Отчет B2".doc. Возможно ли сделать, чтобы он сразу сохранялся (с открытием или без) в формате pdf штатными средставми MS Office 2010 или с помощью PDFCreator. Спасибо!
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #37788650
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например, замените код формирования документа на нижеприведенный:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Private Sub cmdShowD_Click()
    
    If Application.Intersect(ActiveCell, ActiveSheet.UsedRange) Is Nothing Then Exit Sub
    
    ActiveCell.EntireRow.Copy Sheets("Буфер").Rows(2)
    cPathD = ActiveWorkbook.Path & "\"
    cFileD = cPathD & "Договор.doc"
    cCellName = ActiveCell.Address(False, False, xlA1)
    
    Set WD = CreateObject("Word.Application")
    WD.Visible = False
    WD.Documents.Open Filename:=cFileD
    'WD.Application.ScreenUpdating = False
    For Each aF In WD.ActiveDocument.Fields
        aF.Unlink
    Next
    'WD.Application.ScreenUpdating = True
    WD.Application.DisplayAlerts = False
    WD.ActiveDocument.SaveAs Filename:=cPathD & "Отчет " & cCellName, FileFormat:=wdFormatDocument
    WD.Application.DisplayAlerts = True
    WD.Application.Quit
    Set WD = Nothing
    
End Sub

Выделенная строка - это запись результата как обычного Word-файла. Соответственно, если MSO2010 поддреживает сохранение в формате PDF - просто укажите соответствующий формат. Если же использовать стороннее приложение - то можно в конце процедуры дописать вызов Shell и нужной программы, с параметрами для преобразования; более того, если не надо - можно не создавать "промежуточного" *.doc, а сразу вызывать, например, PDFCreator для создания...
Или Вы вообще не знаете, как работать с VBA, и вам надо "всё и сразу готовое"?
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #37788686
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ev8383Возможно ли сделать, чтобы он сразу сохранялся (с открытием или без) в формате pdf штатными средставми MS Office 2010 или с помощью PDFCreator. Спасибо!Например, используя PDF-принтер, можно сделать так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Private Sub cmdShowD_Click()
    
    If Application.Intersect(ActiveCell, ActiveSheet.UsedRange) Is Nothing Then Exit Sub
    
    ActiveCell.EntireRow.Copy Sheets("Буфер").Rows(2)
    cPathD = ActiveWorkbook.Path & "\"
    cCellName = ActiveCell.Address(False, False, xlA1)
    
    Set WD = CreateObject("Word.Application")
    WD.Visible = True
    WD.Documents.Open Filename:=cPathD & "Договор.doc"
    
    WD.Documents.Save True
    
    Const wdPrintAllDocument = 0
    Const wdPrintDocumentContent = 0
    Const wdPrintAllPages = 0
    
    cPrinter = WD.Application.ActivePrinter
    WD.Application.ActivePrinter = "PDFCreator"
    WD.Application.PrintOut Filename:=cPathD & "Договор.doc", _
        PrintToFile:= True, _
        OutputFileName:=cPathD & "Отчет " & cCellName & ".pdf", _
        Range:=wdPrintAllDocument, Item:=wdPrintDocumentContent, _
        Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        ManualDuplexPrint:=False, Collate:=True, Background:=True, _
        PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
    WD.Application.ActivePrinter = cPrinter
    
    WD.Application.Quit
    Set WD = Nothing
    
End Sub

...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #37789077
ev8383
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTMНапример, замените код формирования документа на нижеприведенный:
+
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Private Sub cmdShowD_Click()
    
    If Application.Intersect(ActiveCell, ActiveSheet.UsedRange) Is Nothing Then Exit Sub
    
    ActiveCell.EntireRow.Copy Sheets("Буфер").Rows(2)
    cPathD = ActiveWorkbook.Path & "\"
    cFileD = cPathD & "Договор.doc"
    cCellName = ActiveCell.Address(False, False, xlA1)
    
    Set WD = CreateObject("Word.Application")
    WD.Visible = False
    WD.Documents.Open Filename:=cFileD
    'WD.Application.ScreenUpdating = False
    For Each aF In WD.ActiveDocument.Fields
        aF.Unlink
    Next
    'WD.Application.ScreenUpdating = True
    WD.Application.DisplayAlerts = False
    WD.ActiveDocument.SaveAs Filename:=cPathD & "Отчет " & cCellName, FileFormat:=wdFormatDocument
    WD.Application.DisplayAlerts = True
    WD.Application.Quit
    Set WD = Nothing
    
End Sub

Выделенная строка - это запись результата как обычного Word-файла. Соответственно, если MSO2010 поддреживает сохранение в формате PDF - просто укажите соответствующий формат. Если же использовать стороннее приложение - то можно в конце процедуры дописать вызов Shell и нужной программы, с параметрами для преобразования; более того, если не надо - можно не создавать "промежуточного" *.doc, а сразу вызывать, например, PDFCreator для создания...
Или Вы вообще не знаете, как работать с VBA, и вам надо "всё и сразу готовое"?


Большое спасибо за подробный и оперативный ответ. В Word сохраняется преркасно. Подскажите, пожалуйста, какое значение задать в cPathD, чтобы на выходе было, например, "Дата_Договор_Номер". Еще как сделать штатными средствами pdf, пытался заменить строку, но получившийся pdf не открывается (возникает ошибка format error: not PDF or corrupted)
Код: vbnet
1.
2.
 
WD.ActiveDocument.SaveAs Filename:=cPathD & "Îò÷åò " & cCellName & ".pdf", FileFormat:=wdFormatPDF


Спасибо!!
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #37789086
ev8383
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTMev8383Возможно ли сделать, чтобы он сразу сохранялся (с открытием или без) в формате pdf штатными средставми MS Office 2010 или с помощью PDFCreator. Спасибо!Например, используя PDF-принтер, можно сделать так:
+
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
Private Sub cmdShowD_Click()
    
    If Application.Intersect(ActiveCell, ActiveSheet.UsedRange) Is Nothing Then Exit Sub
    
    ActiveCell.EntireRow.Copy Sheets("Буфер").Rows(2)
    cPathD = ActiveWorkbook.Path & "\"
    cCellName = ActiveCell.Address(False, False, xlA1)
    
    Set WD = CreateObject("Word.Application")
    WD.Visible = True
    WD.Documents.Open Filename:=cPathD & "Договор.doc"
    
    WD.Documents.Save True
    
    Const wdPrintAllDocument = 0
    Const wdPrintDocumentContent = 0
    Const wdPrintAllPages = 0
    
    cPrinter = WD.Application.ActivePrinter
    WD.Application.ActivePrinter = "PDFCreator"
    WD.Application.PrintOut Filename:=cPathD & "Договор.doc", _
        PrintToFile:= True, _
        OutputFileName:=cPathD & "Отчет " & cCellName & ".pdf", _
        Range:=wdPrintAllDocument, Item:=wdPrintDocumentContent, _
        Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        ManualDuplexPrint:=False, Collate:=True, Background:=True, _
        PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
        PrintZoomPaperHeight:=0
    WD.Application.ActivePrinter = cPrinter
    
    WD.Application.Quit
    Set WD = Nothing
    
End Sub



Спасибо за код. Печать идет, но файл не открывается "format error: not PDF or corrupted", хотя по размеру вполе пдофский (порядка 500 кб)
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #37789671
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ev8383Спасибо за код. Печать идет, но файл не открывается "format error: not PDF or corrupted", хотя по размеру вполе пдофский (порядка 500 кб)Если вы использовали PDFCreator от SourceForge, то там выходной формат по умолчанию - нестандартный, и чтается, например, их же PDFReader'ом SumatraPDF http://www.pdfreaders.org/
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #37789704
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если нужно результат получить в pdf - то в 2007/10 экселе можно обойтись без Ворда и виртуального принтера (если конечно можно в Экселе создать нужный дизайн документа) - просто сохраните страницу в этом формате.
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #37789952
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121Если нужно результат получить в pdf - то в 2007/10 экселе можно обойтись без Ворда и виртуального принтера (если конечно можно в Экселе создать нужный дизайн документа) - просто сохраните страницу в этом формате.AndreTMВыделенная строка - это запись результата как обычного Word-файла. Соответственно, если MSO2010 поддерживает сохранение в формате PDF - просто укажите соответствующий формат ...
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #37789953
ev8383
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTMev8383Спасибо за код. Печать идет, но файл не открывается "format error: not PDF or corrupted", хотя по размеру вполе пдофский (порядка 500 кб)Если вы использовали PDFCreator от SourceForge, то там выходной формат по умолчанию - нестандартный, и чтается, например, их же PDFReader'ом SumatraPDF http://www.pdfreaders.org/ Спасибо за ответ. Можно ли в первый код добавить еще шаг, который будет открытый word документ сохранять в pdf, что-то на подобии этого

Код: vbnet
1.
2.
3.
4.
5.
Sub SaveAllOpenDocsAsPDF()
For Each aDocument In Application.Documents
    aDocument.SaveAs Filename:=aDocument.FullName & ".pdf", FileFormat:=wdFormatPDF
Next aDocument
End Sub
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #37789961
ev8383
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTMHugo121Если нужно результат получить в pdf - то в 2007/10 экселе можно обойтись без Ворда и виртуального принтера (если конечно можно в Экселе создать нужный дизайн документа) - просто сохраните страницу в этом формате.AndreTMВыделенная строка - это запись результата как обычного Word-файла. Соответственно, если MSO2010 поддерживает сохранение в формате PDF - просто укажите соответствующий формат ... Это все понятно, но цель такова, чтобы данные выгружались из Excel в Word по заданному шаблону, который в свою очередь печатался или сохранялся в pdf автоматически, без дополнительных действий со стороны пользователя. В excel дизайн воспроизвести мне не удается.
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #37790001
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странный вы человек...
Так я же сразу спрашивал - вот и ответили бы "сделайте всё за меня, а я буду безмерно благодарен".
А то, что вам выше приведен весь необходимый код - вы не заметили?
Кто вам запрещает И сохранить файл как word-документ с нужным именем, И тут же сохранить его же в PDF?
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #37790023
ev8383
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTMСтранный вы человек...
Так я же сразу спрашивал - вот и ответили бы "сделайте всё за меня, а я буду безмерно благодарен".
А то, что вам выше приведен весь необходимый код - вы не заметили?
Кто вам запрещает И сохранить файл как word-документ с нужным именем, И тут же сохранить его же в PDF? я пытался, но , видимо, знаний и навыков недостаточно, если Вы сможете сделать или подсказать, где почитать -посмотреть, то действительно буду очень признателен. Спасибо!
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #37796134
AndreSAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM, сделал все по принципу и подобию...
но почему-то при обновлении связей до и после связанного фрагмента вставляется перенос строки.
не подскажете, почему???
форматирование уже какое-только не пробовал... бесполезно.
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #37796208
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreSAMформатирование уже какое-только не пробовал... бесполезно. 9630015 Насчет "неформатированного текста". Впрочем, за 2007/2010 - не отвечаю... а посмотреть сейчас просто негде.
...
Рейтинг: 0 / 0
Подстановка данных из excel в word
    #37801583
ev8383
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ev8383AndreTMНапример, замените код формирования документа на нижеприведенный:
++
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Private Sub cmdShowD_Click()
    
    If Application.Intersect(ActiveCell, ActiveSheet.UsedRange) Is Nothing Then Exit Sub
    
    ActiveCell.EntireRow.Copy Sheets("Буфер").Rows(2)
    cPathD = ActiveWorkbook.Path & "\"
    cFileD = cPathD & "Договор.doc"
    cCellName = ActiveCell.Address(False, False, xlA1)
    
    Set WD = CreateObject("Word.Application")
    WD.Visible = False
    WD.Documents.Open Filename:=cFileD
    'WD.Application.ScreenUpdating = False
    For Each aF In WD.ActiveDocument.Fields
        aF.Unlink
    Next
    'WD.Application.ScreenUpdating = True
    WD.Application.DisplayAlerts = False
    WD.ActiveDocument.SaveAs Filename:=cPathD & "Отчет " & cCellName, FileFormat:=wdFormatDocument
    WD.Application.DisplayAlerts = True
    WD.Application.Quit
    Set WD = Nothing
    
End Sub

Выделенная строка - это запись результата как обычного Word-файла. Соответственно, если MSO2010 поддреживает сохранение в формате PDF - просто укажите соответствующий формат. Если же использовать стороннее приложение - то можно в конце процедуры дописать вызов Shell и нужной программы, с параметрами для преобразования; более того, если не надо - можно не создавать "промежуточного" *.doc, а сразу вызывать, например, PDFCreator для создания...
Или Вы вообще не знаете, как работать с VBA, и вам надо "всё и сразу готовое"?


Большое спасибо за подробный и оперативный ответ. В Word сохраняется преркасно. Подскажите, пожалуйста, какое значение задать в cPathD, чтобы на выходе было, например, "Дата_Договор_Номер". Еще как сделать штатными средствами pdf, пытался заменить строку, но получившийся pdf не открывается (возникает ошибка format error: not PDF or corrupted)
+
Код: vbnet
1.
2.
 
WD.ActiveDocument.SaveAs Filename:=cPathD & "Îò÷åò " & cCellName & ".pdf", FileFormat:=wdFormatPDF


Спасибо!!

все получилось, чтобы сохранить штатными средствами в pdf достаточно было добавить ссылку на библиотеку Windows Word 14 Object Library. AndreTM еще раз спасибо за код
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Подстановка данных из excel в word
    #38287923
smaikl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собратья, помогите.

Задача банальная - есть файл с данными на ООО. Нужно заполнить договор в WORD.
Использую Office2010.
Копирую в Excel ячейку и вставку "связать и объединить форматирование".
Данные переносятся и обновляются.

НО!!!
после обновления каждая такая вставка делается с новой строки. Т.е.

должно быть
ООО "Торговое предприятие", именуемое в дальнейшем «ЗАКАЗЧИК», в лице Иванова И.И., действующего...

а получается перевод строки
ООО "Торговое предприятие"
, именуемое в дальнейшем «ЗАКАЗЧИК», в лице
Иванова И.И.
, действующего...


EXCEL
ООО "Торговое предприятие"
Иванова И.И.

Формат ячеек пробовал общий и текстовый.
Пробовал вставку связь "связать и сохранить исходное форматирование" и "связать и объединить форматирование"

НЕ ПОМОГАЕТ.
Каждую вставку делает отдельной строкой, а нужно чтобы внутри текста.

HELP
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Подстановка данных из excel в word
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]