1

Тема: Как в MS Word 2003 импортировать данные из Excel?

Пожалуйста, подскажите - как импортировать в соответствующие переменные поля шаблона MS Word 2003 данные из соответствующих полей MS Excel 2003?
Не имею возможности все сделать в Excel, так как в глобальном смысле задача следующая:
пользователь заполняет так называемую "карточку клиента" в Excel, а в соответствующие поля большого документа Word попадают данные из этой карточки. Некоторые поля дублируются.

Весь форум перерыл, но ответа не нашел! Возможно, это про функцию слияния, но где она и как она работает, я не понял, уж простите новичка в этом деле...

2

Re: Как в MS Word 2003 импортировать данные из Excel?

Приложите шаблон документа и книгу Excel. Тогда объяснение займёт меньше времени.

Лучше день потерять — потом за пять минут долететь!

3

Re: Как в MS Word 2003 импортировать данные из Excel?

Приложил: это образец книги Excel

Post's attachments

Образец.xls 21.5 Кб, 21 скачиваний с 2010-03-12 

You don't have the permssions to download the attachments of this post.

4

Re: Как в MS Word 2003 импортировать данные из Excel?

А это шаблон Word 2003, в который нужно импортировать данные

Post's attachments

Шаблон.doc 31.5 Кб, 23 скачиваний с 2010-03-12 

You don't have the permssions to download the attachments of this post.

5

Re: Как в MS Word 2003 импортировать данные из Excel?

Посмотрев приведенные примеры, попробую заметить - в книге приведено несколько строк. А в ворд, как я понимаю, нужно вставлять данные из одной строки. Задача достаточно тривиальная, в свое время целые спецификации перетаскивали из книги в ворд.
Ну а алгоритм для макроса примерно такой, из ворда открыть книгу, в переменные закинуть значения необходимых ячеек, и потом в поля формы вставить значения (в свойствах текстового поля есть - выполнить макрос при входе - этим то макросом и можно считать значение из книги. И так для каждого поля). Может немного сумбурно, но где-то так..

6

Re: Как в MS Word 2003 импортировать данные из Excel?

andrkar пишет:

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

Вторая часть у меня получается, а вот первая... С первой проблема: как из Word открыть книгу Excel? И как сделать так, чтобы из из таблицы Excel только последняя заполненная строка попадала в шаблон Word?

7

Re: Как в MS Word 2003 импортировать данные из Excel?

Макрос не нужен. Всё решается слиянием. Можно даже использовать как классический пример слияния. smile  Для приложенного документа я уже всё сделал. Открываете его. На запрос обновления данных ответьте отрицательно. Меню Сервис→Письма и рассылки→Слияние…. В боковой панели выберите "Выбор другого списка…" и укажите свой файл Excel с данными. В боковой панели выберите "Изменить список…" и снимите галочку с первой строки, как на картинке:
Как в MS Word 2003 импортировать данные из Excel?
Также можно снять галочки со строк с номерами 3, 4, 5 поскольку они пустые.
Далее. В самом низу боковой панели нажмите "Далее. Создание письма", "Далее. Просмотр писем". После этого в верхней части боковой панели слияния появится навигатор по документам:
Как в MS Word 2003 импортировать данные из Excel?
Можно посмотреть каждый документ по отдельности.
Чтобы сохранить полученные письма, нажмите "Далее. Завершение слияния", "Изменить часть писем". Выберите письма (документы), которые вы хотите изменить. После этого все документы будут объединены в один и вы сможете их сохранить как один документ.
Выделенная кнопка позволяет выбрать поле слияния, чтобы вставить его в шаблон.
Всё.
Для работы с полями слияния также можно использовать соответствующую панель инструментов:
Как в MS Word 2003 импортировать данные из Excel?

Post's attachments

Шаблон со слиянием полей.doc 45.5 Кб, 25 скачиваний с 2010-03-15 

You don't have the permssions to download the attachments of this post.
Лучше день потерять — потом за пять минут долететь!

8

Re: Как в MS Word 2003 импортировать данные из Excel?

Все достаточно просто:

Sub test()
Set app = CreateObject("excel.application")
app.Visible = True
Set wkb = app.Workbooks.Open("тут полное имя вашего файла.xls")

End Sub

Пожалуйста, оформляйте код специальными тегом Code.

Отредактировано admin (16.03.2010 08:06:33)

9

Re: Как в MS Word 2003 импортировать данные из Excel?

smile А может человеку хочется макросом? Почему бы и такой вариант не рассмотреть? Думаю, что для других тоже будет полезно, как из макроса Word открывать Exel и работать с ним???

10

Re: Как в MS Word 2003 импортировать данные из Excel?

viter.alex пишет:

Макрос не нужен. Всё решается слиянием. Можно даже использовать как классический пример слияния. smile  Для приложенного документа я уже всё сделал. Открываете его...

Все супер, кроме двух вещей:
1) Не очень понятно, как в этот шаблон вставить № дела (с помощью выделенной кнопки - это понятно, а как автоматически?); 
2) Невозможно понять, КАК ЭТО ВСЕ РАБОТАЕТ??? Вы написали некий макрос, полностью записав туда таблицу из Excel или нет? Хочется ведь разобраться!

Конечно, я не такой опытный, как Вы (поэтому и обращаюсь). Но в своем другом вопросе с Вашей помощью я разобрался ведь!..

11

Re: Как в MS Word 2003 импортировать данные из Excel?

Это работает очень просто. Документ связан с базой данных, роль которой в Вашем случае выполняет таблица Excel. Связи задаются полями, в которых прописано, что из базы данных (какое поле) нужно вставить в данное место документа. Ну а затем сам Word перебирает отмеченные записи в базе данных, подставляет значения полей и оформляет это всё одним документом.
Я не написал в шаблоне ни одной строчки макроса. Даже редактор VBA не открывал:)
Вам нужно разобраться что такое слияние и всё станет понятно.

Сергей пишет:

Не очень понятно, как в этот шаблон вставить № дела

Если он есть в вашей таблице, то можно вставлять автоматически, но я его там не видел. Если же нет,тогда нужно писать макрос, но для этого нужно знать на основе чего формировать номер дела.
P.S. Термины. Если базу данных упрощённо представить в виде таблицы, то поле базы данных это столбец таблицы, а запись базы данных это строка.

Лучше день потерять — потом за пять минут долететь!