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

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

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

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

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

Igor2005



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я новичок в программировании, поэтому прошу помощи в таком, может быть, простом вопросе.
Как осуществить перенос значений ячеек из экселя в ворд. Т.е. имеем ряд таблиц в екселе, значения в ячейках которых могут рассчитываться или заноситься вручную. Необходимо вставлять их в ворд в определённом месте текста. Текст постоянный поэтому его можно один раз занести в этот макрос или что там получится.  
И посложнее, число нужно вносить в формулу ворда.  
Возможно ли это, где можно почитать, дайте ссылочку кто знает.

Всего записей: 291 | Зарегистр. 16-12-2005 | Отправлено: 16:22 16-04-2006
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Igor2005
в какой среде тебе надо это реализовать?

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 16:26 16-04-2006
Igor2005



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да мне в принципе всё равно, что изучать

Всего записей: 291 | Зарегистр. 16-12-2005 | Отправлено: 10:59 17-04-2006
Troitsky



Водник Водкин
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Igor2005
Лучше на VBA это делать непосредственно из Excel'я.
Подключаешь в VBA библиотеку Microsoft Word XX Object Library и создаешь макрос с подобным кодом:
Код:
Dim objWord As Word.Application
Dim objDocument As Word.Document
 
Set objWord = CreateObject("Word.Application")
If Err.Number Then
   MsgBox "Can't open Word."
   Exit Sub
End If
 
Set objDocument = objWord.Documents.Open(Filename:="C:\DocName.doc")
 
Set myRange = objDocument.Content
 
myRange.Find.ClearFormatting
 
myRange.Find.Execute FindText:="!Значение1", ReplaceWith:=Sheets(1).Cells(1, 1).Text, Replace:=wdReplaceAll
myRange.Find.Execute FindText:="!Значение2", ReplaceWith:=Sheets(1).Cells(2, 1).Text, Replace:=wdReplaceAll
' и так далее
 
objWord.Visible = True 'если нужно показать документ
 
objDocument.Save 'если нужно сохранить документ
 
Set myRange = Nothing
Set objDocument = Nothing
Set objWord = Nothing

Замены можно и в цикле производить, так проще будет.
 
 
Добавлено:
Забыл сказать, что в тех местах текста, куда следует вставлять данные из Excel, должны быть слова типа "!Значение1", "!Значение2" и т.д. Эти слова и будут заменяться текстом из ячеек таблиц.
 
Добавлено:
По поводу
Цитата:
число нужно вносить в формулу ворда
тоже интересуюсь. Сильно не копал, но очевидного способа это сделать не нашел. Если кто знает как такое осуществить, подскажите.


----------
Мы в хорошем настроении гуляем по лесам.
Кто обидеть нас захочет – сам получит по усам.
Сам полу- получит по усам. Сам полу- получит по усам!

Всего записей: 795 | Зарегистр. 13-12-2003 | Отправлено: 14:15 17-04-2006
Igor2005



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Troitsky
А где об этом можно почитать поподробнее, может книгу подскажешь или в нете?

Всего записей: 291 | Зарегистр. 16-12-2005 | Отправлено: 15:08 17-04-2006
Troitsky



Водник Водкин
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Igor2005
В жизни не читал книжек по ВБА , но знаю, что их очень много. В разделе eBookz посмотри, там проскакивали. На KpNemo и AvaxHome тоже были.
Кроме того в OfficeXP неплохая справка есть (по ВБА, правда, на инглише), да и Object Browser прилично помогает.
 
Добавлено:
Кстати, вот по поводу формул, хоть и кривенькое, но решение:
http://forum.codenet.ru/showthread.php?&postid=80496

----------
Мы в хорошем настроении гуляем по лесам.
Кто обидеть нас захочет – сам получит по усам.
Сам полу- получит по усам. Сам полу- получит по усам!

Всего записей: 795 | Зарегистр. 13-12-2003 | Отправлено: 15:32 17-04-2006
Looking



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Эх, куда вас всех понесло...
Читайте помощь в Worde по слову "Слияние"

Всего записей: 1814 | Зарегистр. 02-06-2004 | Отправлено: 15:48 17-04-2006
Troitsky



Водник Водкин
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Looking
Ну я все таки думаю, что задача состояла в автоматической генерации отчета после каких то математических вычислений, мастер слияния тут не совсем подходит. Можно было сделать и полностью все в Word, кажется и поля имеют поддержку вычисляемых формул, но ответ был именно на вопрос по программированию.

----------
Мы в хорошем настроении гуляем по лесам.
Кто обидеть нас захочет – сам получит по усам.
Сам полу- получит по усам. Сам полу- получит по усам!

Всего записей: 795 | Зарегистр. 13-12-2003 | Отправлено: 18:19 17-04-2006
DroN_S

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Igor2005
а я бы вообще всё это дело на Delphi написал, было бы всё в лучшем цвете... не люблю я VBA..

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 18:55 17-04-2006
Igor2005



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DroN_S
А где почитать, как это делается? Я в общих чертах с делфи как раз таки знаком, в отличие от VBA.

Всего записей: 291 | Зарегистр. 16-12-2005 | Отправлено: 19:05 17-04-2006
DroN_S

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

Цитата:
А где почитать, как это делается?  

почитать можно в книге Флёнова - Библия Delphi...
там приведён пример работы с Excel но принцип тот же самый...
есть ещё книга Корняков - программирование документов и приложений MS Office в Delphi.. где то была в эл. виде... завтра на работе гляну, если что скину линк...
а так, вообще при программировании приложений ворд, тебе без VBA не обойтись... даже взять пример простого макроса...

Всего записей: 1143 | Зарегистр. 09-04-2005 | Отправлено: 19:28 17-04-2006
StanislavG



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

Цитата:
 Подключаешь в VBA библиотеку Microsoft Word XX Object Library

Как понять подключаешь

Всего записей: 34 | Зарегистр. 10-01-2007 | Отправлено: 09:51 18-01-2007
dneprcomp



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

Цитата:
а я бы вообще всё это дело на Delphi написал, было бы всё в лучшем цвете... не люблю я VBA..
А ты считаешь, что обходишься без VBA? Работая с об'ектной моделью офиса, все равно используешь ее синтаксис. Так что там о не любви?

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 10:12 18-01-2007
vovochka2

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Корняков - программирование документов и приложений MS Office в Delphi.
Как там насчет линка? Тоже что -то похожее надо сделать...

Всего записей: 9 | Зарегистр. 31-05-2006 | Отправлено: 15:26 18-01-2007
Troitsky



Водник Водкин
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
StanislavG
имел ввиду следующее действие:
Tools/References.../Microsoft Word XX Object Library


----------
Мы в хорошем настроении гуляем по лесам.
Кто обидеть нас захочет – сам получит по усам.
Сам полу- получит по усам. Сам полу- получит по усам!

Всего записей: 795 | Зарегистр. 13-12-2003 | Отправлено: 16:46 18-01-2007
Открыть новую тему     Написать ответ в эту тему

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru