Макрос за създаване на документи на Word от таблични данни на Excel

Макросът е предназначен за програмно създаване на документи на Word въз основа на шаблон

(без използване на функцията за сливане в Word)

Архивът, прикачен към статията, съдържа 2 файла:

  • шаблон на договор във формат Microsoft Word (разширение .точка)
  • Excel файл с макрос

Макро настройките са зададени в код:

Const TemplateFileName = "template.dot"
Const Брой обработени колони = 8
Const GeneratedFile Extension = ".doc"

Когато се натисне бутона за изпълнение, макрос, базиран на шаблон точка създава друг файл и в този документ заменя текста („код на полето“) от първия ред на файла на Excel със стойността на полето (от следващия ред с данните във файла на Excel)

Папката за генерирани документи се създава автоматично и съдържа текущата дата и час в името
(например създадената папка ще бъде наречена Договори, сформирани на 01-05-2011 в 15-03-24)

Имената на създадените файлове се формират чрез комбиниране на полетата на фамилията, собственото име и бащиното име, с добавяне на разширението на doc

PS: Макросът е написан много отдавна, когато тепърва започвах да уча VBA - така че кодът не е достатъчно универсален.

Но като пример може би ще стане (ако имате нужда от по-функционален макрос, използвайте универсалната добавка (вижте по-долу))

Вижте и универсалната добавка за генериране на документи от шаблони,
който може да направи всичко по същия начин като тази програма,
само като шаблони, в допълнение към документите на Word, могат да действат и текстови файлове и книги на Excel.

От горната връзка, програмата за попълване на документи на Word от Excel е достъпна за безплатно изтегляне.

Внимание: заявки за ревизия на макроса, описан в тази статия, не се приемат.

Има нова (универсална) версия, която вече разполага с почти всичко, което може да е необходимо.

Коментари

Благодаря за макроса, бихте ли ми казали какво да променя в него, така че да се обработва само редът, в който се обработва избраната клетка?

Благодаря за макроса. Много помогнах в работата си.

Този макрос вече не се поддържа.
Използвайте новата (разширена) версия на програмата - там всичко работи без грешки.

Макросът дава грешка (Несъответствие на типа (Грешка 13)) при обработка на клетка с формула, моля, кажете ми как да разреша този проблем?

Здравейте. Благодаря ви за този макрос, който ми помогна в работата.
Бихте ли ми казали как да направя данните от няколко (различни) реда на Excel, записани в шаблона на Word?
Благодаря предварително.

Кажи ми. но можете да направите макропроцеса само на онези редове, в които има номер на договор и ако празният е пропуснат?

Запознах се с програмата. Сериозна работа. Сваляйки шапката си. Но този макрос ми хареса. Разбрах горните и долните колонтитули - оказа се, че не е нищо сложно, а самият макрос вече е обрасъл с куп подобрения. Уморен, нали знаете))

Юджийн, използвайте универсалната програма за попълване на документи на Word - там е внедрена подмяна на стойности в горни и долни колонтитули

Добър ден! Макросът много помогна в работата. Завърших го малко, за да отговаря на моите нужди: изход към различни шаблони за документи на Word с различни стойности в Excel. Остава само един въпрос - текстът се вмъква перфектно в самия документ с думи, но не и в подзаглавията:( Моля, кажете ми как да го поправя?

Vova, ако няма пари за поръчката, има само 2 опции:
1) разберете тези макроси и го направете сами (за щастие има много примери за такива макроси в Интернет)
2) помолете за помощ на някой от форумите на Excel (но отново, ако няма развитие от ваша страна, едва ли някой ще свърши цялата работа вместо вас)

И ако в този макрос го направите така, че той да замести данните първо от реда на активната клетка и след това ако една от клетките на следващия ред = клетката от предишния ред отново вмъкне заменяемите полета в документа на Word и отново разделя замяната и така нататък, докато една от клетките не стане, ще бъде равна на клетката от следващия ред, тогава макросът не вмъква заменяеми полета от това условие, а просто запазва документа на Word. Тоест, да кажем, че трябва да създам документ на Word за един от хората, за който има няколко реда. Моля, помогнете ми много, просто нямам пари за поръчка.

Vova, в този случай универсалното решение няма да работи - има твърде много възможни опции за местоположението на данни в Excel и начини за попълване на документи на Word.
Направете поръчка на уебсайта - ще направя макрос за вас според вашите изисквания.

Моля, кажете ми как да направя макроса да формира един документ на Word въз основа на данни от няколко реда в Excel?

И как да приложим същите възможности, само с помощта на функцията за сливане на поща в Word. Така че всеки нов път не се формира нов документ и записът се прави на нова страница?

Вече е налична нова версия на универсалната програма за генериране на документи по шаблони.

Програмата е много удобна за бързо създаване на договори и поръчки, попълване на актове и инструкции, отпечатване на писма и споразумения, попълване на пътни листове и известия, отпечатване на протоколи и споразумения, замяна на данни в шаблони за изявления и пълномощни.

Броят на файловете с шаблони (Word, Excel, TXT) е неограничен.

Можете да изтеглите и тествате програмата безплатно на тази връзка:
http://excelvba.ru/programmes/FillDocuments

възможно ли е да се генерират документи с 2 думи за всеки запис?