Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Закладки » Заполнение полей word-документа из формы

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

aar



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Дорогие друзья!
 
Мой бывший одноклассник озадачил меня следующим вопросом. Ему требуется составлять множество однотипных документов в Word, состоящих из описательной части, общей для всех этих документов, и полей, в которые заносится отдельная для каждого документа информация. К примеру, опись жилища состоит из ФИО, Адреса, Метража. Так вот, идет, скажем, строка: "Фамилия: Иванов". Слово "Фамилия" уже нарисовано, а надо, чтобы значение "Иванов" было добавлено из формы, к которой предъявляются следующие требования. Необходимо, чтобы это была обычная форма, состоящая из полей ввода и надписей, идентифицирующих эти поля. К выше приведенному примеру — это пять полей ввода: Фамилия, Имя, Отчество, Адрес, Метраж. Так вот, заполнив эти поля, нажав на кнопку, ожидается, что данные появятся на нужных местах на страницах документа, который может состоять из нескольких страниц. И еще требуется, чтобы эту форму для заполнения можно было бы вызывать каким-либо образом. Допустим, нужно почти полностью переделать документ, вызвал форму еще раз, перезаполнил данные, нажал кнопку - и все заново заполнилось в документе.
 
Итак, вопрос такой. Как это лучше сделать? VBA? Сам не силен, если кто может, наклепайте пример, этого будет достаточно, чтобы разобраться.
 
Спасибо.

----------
* * *

Всего записей: 7080 | Зарегистр. 20-11-2003 | Отправлено: 18:31 21-09-2005
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
aar
Решение может быть следующим:
создаёшь шаблон документа, например у тебя есть бланк, ты в нём на те места куда надо будет вставить нужный текст, делаешь константы, сохраняешь шаблон, затем уже из среды Delphi(хотя это и не обязательно) открываешь этот документ и через функции ворда ищешь и заменяешь эти констаннты нужными данными. вот и всё...

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 18:51 21-09-2005
evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
aar
Проще такое сделать через "Слияние": Данные вводятся в БД или в Excel'евский лист, готовится шаблон в Word'е и к нему привязываются данные. Потом из шаблона и данных сразу или по одному создаются документы. Справка по "Слиянию" достаточно подробна, если что непонятно будет - спрашивай.

----------
For every complex problem, there is a solution that is simple, neat, and wrong.

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 18:52 21-09-2005
aar



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DroN_S
Хорошо бы обойтись без делфи, а еще: если потребуется заново перелить данные, тогда как? Вот.
 
И еще, полистал тут немного хелп по VB. Вопрос такой: какой и как поставить на страницу объект, чтобы задуплить в нее тексти из поля? Тогда задача почти решена.

----------
* * *

Всего записей: 7080 | Зарегистр. 20-11-2003 | Отправлено: 18:53 21-09-2005
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
aar

Цитата:
Хорошо бы обойтись без делфи

без делфи так без делфи

Цитата:
если потребуется заново перелить данные, тогда как? Вот.

да очень легко, просто закрываешь документ, если надо сохраняешь данные если нет то просто закрываешь, и проделываешь всё занова, имеется ввиду просто надо ввести новые данные и нажать на кнопку
 
Добавлено:
aar
если тебя интересует средствами VBA это сделать, то задай лучше вопрос вот в этой ветке hххp://forum.ru-board.com/topic.cgi?forum=33&topic=5312#1

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 18:58 21-09-2005
aar



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Эх... никто мне не помог... Ну да ладно!
 
Решение найдено следующее. Делается таблица, куда вбивается постоянная информация, и оставляются свободные ячейки, куда будет добавляться информация из формы.  
 
В самой форме делается поле для ввода и кнопка (самый простой вариант). Ну а потом назначаем действие на клик кнопки в виде:  
 
ActiveDocument.Tables(1).Cell(1, 2).Range.Text = TextBox1.Text
 
где TextBox1 - это поле ввода на форме.
 
Вот и все.
 
 
Добавлено:
http://www.relib.com/forums/thread850801.aspx

----------
* * *

Всего записей: 7080 | Зарегистр. 20-11-2003 | Отправлено: 16:40 23-09-2005
Kitayskiy_svarshik



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Есть ещё один вариант решения:
http://www.vsi.ru/~apl/others.htm#reportf

Всего записей: 101 | Зарегистр. 09-01-2005 | Отправлено: 10:55 04-10-2005
Almag13

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Используйте сервис http://breedlib.ru
 
Они еще и программу делают

Всего записей: 1 | Зарегистр. 02-02-2016 | Отправлено: 22:12 02-02-2016
nick959

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть бесплатный сервис для создания (конструктор документов) и автоматического заполнения любых документов http://docwebservice.ru, посмотрите

Всего записей: 1 | Зарегистр. 14-04-2007 | Отправлено: 12:56 24-07-2017 | Исправлено: nick959, 12:58 24-07-2017
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Закладки » Заполнение полей word-документа из формы


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru