Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как перенести данные из таблицы в Word, используя OLE? / 16 сообщений из 16, страница 1 из 1
11.03.2004, 11:11
    #32437506
maxxxim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перенести данные из таблицы в Word, используя OLE?
Есть задача: написать письмо в вордовском документе, куда из таблицы вставляются ФИО заказчиком... С Экселем я справился и так... А вот Ворд че-то посложнее будет... Дерево объектов я просмотрел, но ничего так и не нашел. Помогите!!!
На текущий момент открывается ворд и открывается новый документ... А дальше?
...
Рейтинг: 0 / 0
11.03.2004, 11:48
    #32437601
FM32YO aka KID
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перенести данные из таблицы в Word, используя OLE?
а хоть и так.. пример не мной писан
#DEFINE cr CHR(13)
********************************************
oWord = CreateObject("Word.Application")
oWord.Visible = .t.

oDocument = oWord.Documents.Add("C:\doc1.doc") && add a doc from existing file

*oRange = oWord.ActiveDocument.Range(1, 9)

*oRange.Select()

oRange = oWord.ActiveDocument.Range()

oRange.InsertAfter(cr)

oRange.InsertAfter("Тест надписи" + cr)

oRange.InsertAfter(cr)

oRange.MoveEnd(6)
oRange.Collapse(0)

oTable = oWord.ActiveDocument.Tables.Add(oRange, 1, 4)

WITH oTable
.Cell[1,1].Range.InsertAfter("Колонка 1, строка 1")
.Cell[1,1].Width = 55
.Rows.Add()
.Cell[1,2].Range.InsertAfter("Колонка 2, строка 1")
.Cell[1,3].Range.InsertAfter("Колонка 3, строка 1")
.Cell[1,4].Range.InsertAfter("Колонка 4, строка 1")
.Rows.Add()
.Cell[2,1].Range.InsertAfter("Колонка 1, строка 2")
.Cell[2,2].Range.InsertAfter("Колонка 2, строка 2")


ENDWITH
...
Рейтинг: 0 / 0
11.03.2004, 14:18
    #32438033
NNN
NNN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перенести данные из таблицы в Word, используя OLE?
Более сложный способ - вставка значение в любое местоположение в документе Word.

1. Открываем Word, набиваем письмо.
2. Создаем новый макрос и запускаем его (нужно создать переменную[-ые] документа, как их сделать руками я не знаю)
Код: plaintext
1.
2.
Sub Macro1()
ActiveDocument.Variables.Add  "fio" 
End Sub

3. В нужно место вставляем поле (из меню Вставка -> Поле..)
Код: plaintext
DOCVARIABLE  "fio" 

4. Сохраняем документ и выходим из Word
5. Код в фоксе примерно такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
local lcDoc &&  имя файла
lcDoc='FileName.doc'
if file(lcDoc)
	local loWord
	local loDoc
	loWord=createobject('word.application')
	if type('loWord')='O'
		loDoc=loWord.Documents.Open(fullpath(lcDoc))
		*!* присвоение значения переменной документа Word
		*!* со строками нулевой длины ('') кажись проблемы
		loDoc.Variables.Item('fio').Value=alltrim(TableName.FieldName)
		loDoc.Fields.Update
		loWord.visible=.t.
		*!* задержка, чтоб не вылететь из Word
		=MessageBox('***'')
		*!* выход без сохранения
		loWord.quit(.F.)
	endif
else
	=MessageBox('File not found'')
endif
...
Рейтинг: 0 / 0
11.03.2004, 23:27
    #32438952
neznajka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перенести данные из таблицы в Word, используя OLE?
To maxxxim:
Очень здорово и подробно (даже я сам понял) это описано в руководстве М.Базияна по VFP6, но там - несколько листов с прог-ами, так что если очень надо - могу сосканировать и кинуть на E-mail. Сообщи свой E-адрес здесь или мне - trnikolaj@yandex.ru
...
Рейтинг: 0 / 0
13.03.2004, 19:14
    #32440930
maxxxim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перенести данные из таблицы в Word, используя OLE?
О, спасибо...

Мое мыло - programmer2000@pochtamt.ru, буду премного благодарен... :)

А с выше приведенными кодами попробуем что-нить сделать.
...
Рейтинг: 0 / 0
14.03.2004, 01:16
    #32441010
neznajka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перенести данные из таблицы в Word, используя OLE?
Рад буду помочь. В понедельник в конце дня перешлю материалы в виде sfx-rar-файла.
...
Рейтинг: 0 / 0
16.03.2004, 00:40
    #32442668
neznajka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перенести данные из таблицы в Word, используя OLE?
Вроде бы получилось, со 2-й попытки отправил, около 4.5 Мб. Буду рад, если пригодится.
...
Рейтинг: 0 / 0
18.03.2004, 21:40
    #32448223
maxxxim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перенести данные из таблицы в Word, используя OLE?
Спасибо, получил, разбираюсь... :)
...
Рейтинг: 0 / 0
18.03.2004, 21:47
    #32448228
maxxxim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перенести данные из таблицы в Word, используя OLE?
Да, задачку-то я решил, используя второй пример... Спасибо еще раз.
...
Рейтинг: 0 / 0
21.03.2004, 13:52
    #32450499
O'ksana
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перенести данные из таблицы в Word, используя OLE?
у меня примерно такая же задача - нужно сделать программу для ввода и печати договоров, куда вставляются данные из таблицы - номер, дата, ФИО и т.д... не получается перенести в WORD. Может мне тоже вышлете как это описано в руководстве М.Базияна по VFP6?? была бы очень признательна!! только у меня VFP5 - надеюсь в этой версии тоже получится?
...
Рейтинг: 0 / 0
21.03.2004, 13:53
    #32450501
O'ksana
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перенести данные из таблицы в Word, используя OLE?
Самое главное забыла... :-) мой е-маил oxiga@nurbank.kz
...
Рейтинг: 0 / 0
21.03.2004, 23:33
    #32450649
neznajka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перенести данные из таблицы в Word, используя OLE?
To O'ksana:
Очень буду рад вам помочь, попытаюсь выслать сегодня или завтра, но есть два сомнения:
- не знаю, подойдет ли способ Базияна под 5-ю версию VFP, все-таки он расчитан на 6-ю версию;
- для реализации требуется уровень владения VFP немножко выше среднего, поэтому придется поморочиться (сужу по себе).
В общем, если возникнут проблемы - дайте подробную выкладку исходных условий, думаю, вместе решим.
...
Рейтинг: 0 / 0
22.03.2004, 08:47
    #32450771
LightWarrior
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перенести данные из таблицы в Word, используя OLE?
девушки, в первых постах описано все что нужно, а по поводу vfp 5 - переходите на 8 :) IMHO очень полезно.
...
Рейтинг: 0 / 0
22.03.2004, 19:26
    #32451975
LightWarrior
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перенести данные из таблицы в Word, используя OLE?
http://]docs.rinet.ru/GlyadiLisu/ch21/ch21.htm#UsingWord
-вот тут масса полезной инфы. Я и сам щас озадачен печатью отчета в Ворд с колонтитулами и подписями разными. Сделаю его и постараюсь поделиться тем что в итоге получилось
...
Рейтинг: 0 / 0
22.03.2004, 23:54
    #32452145
neznajka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перенести данные из таблицы в Word, используя OLE?
To LightWarrior :\r
Не все так гладко в королевстве VFP8, загляните: \r
/topic/81988&pg=-1
...
Рейтинг: 0 / 0
05.08.2004, 16:34
    #32637377
Commander Хэлл
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перенести данные из таблицы в Word, используя OLE?
LightWarriorЯ и сам щас озадачен печатью отчета в Ворд с колонтитулами и подписями разными. Сделаю его и постараюсь поделиться тем что в итоге получилось Получилось?
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как перенести данные из таблицы в Word, используя OLE? / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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