Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

*создаем объект типа приложения Ворда



Программный код

Word

*создаем объект типа приложения Ворда

oWord=CREATEOBJECT('Word.application')

*создаем новый документ

oWord.Documents.Add()

*записываем в документ его заголовок (строку текста)

oWord.Selection.TypeText("Список Менеджеров")

*объявляем ее как параграф

oWord.Selection.TypeParagraph

*две строки пропуска для красоты

oWord.Selection.TypeParagraph

oWord.Selection.TypeParagraph

SELECT menegers

GO top

*добавляем в документ таблицу

*первый параметр - в качестве диапазона указываем текущий

*второй параметр - количество строк указываем равным количеству записей в таблице GOODS

*третий параметр - количество столбцов равно 2

oWord.Selection.Tables.Add(oWord.Selection.Range,RECCOUNT(),1)

*i - переменная с номером строки таблицы в Ворде

i=1

*перебираем все записи в GOODS

SCAN

WITH oWord.Selection

*в таблице с индексом 1 выбираем ячейку в первом столбце строки i

.Tables(1).Cell(i,1).Select()

*в выбранную ячейку записываем название товара

.TypeText(menegers.fio)

*во второй столбец строки заносим цену товара

*.Tables(1).Cell(i,2).Select()

*.TypeText(ALLTRIM(STR(nunitprice)))

ENDWITH

*переходим к следующей строке

i=i+1

ENDSCAN

*для второго столбца таблицы указываем авторазмер

*oWord.Selection.Tables(1).Columns(2).autofit()

*делаем Ворд видимым

oWord.visible=.T.

 

Excel

*создаем объект приложения

oExcel=CREATEOBJECT('Excel.Application')

*создаем в приложении новую книгу

oMyBook=oExcel.Workbooks.Add()

*получаем ссылку на первый рабочий лист

oMySheet=oMyBook.Worksheets(1)

*выбираем источник данных, в нашем случае - таблицу goods

SELECT pokupateli

*перемещаем указатель в таблице в начало

GO top

*переменная i будет определять номер строкина рабочем листе Excel

i=1

*цикл SCAN перебирает все записи в таблице

SCAN

*помещаем в i-ю строку в первый столбец название товара

oMySheet.cells(i,1).value=pokupateli.fio

*помещаем в i-ю строку во второй столбец цену товара

oMySheet.cells(i,2).value=pokupateli.telefon

*переходим к следующей строке

i=i+1

ENDSCAN

*выделяем весь лист Excel

oMySheet.cells.select

*подгоняем ширину столбцов по содержимому

oMySheet.cells.EntireColumn.AutoFit

*переводим курсор на ячейку А1

oMySheet.cells(1,1).select

*делаем приложение видимым на экране

oExcel.Visible=.T.

Word

*создаем объект типа приложения Ворда

oWord=CREATEOBJECT('Word.application')

*создаем новый документ

oWord.Documents.Add()

*записываем в документ его заголовок (строку текста)

oWord.Selection.TypeText("Список товаров")

*объявляем ее как параграф

oWord.Selection.TypeParagraph

*две строки пропуска для красоты

oWord.Selection.TypeParagraph

oWord.Selection.TypeParagraph

SELECT tovari

GO top

*добавляем в документ таблицу

*первый параметр - в качестве диапазона указываем текущий



*второй параметр - количество строк указываем равным количеству записей в таблице GOODS

*третий параметр - количество столбцов равно 2

oWord.Selection.Tables.Add(oWord.Selection.Range,RECCOUNT(),3)

*i - переменная с номером строки таблицы в Ворде

i=1

*перебираем все записи в GOODS

SCAN

WITH oWord.Selection

*в таблице с индексом 1 выбираем ячейку в первом столбце строки i

.Tables(1).Cell(i,1).Select()

*в выбранную ячейку записываем название товара

.TypeText(tovari.na_izd)

*во второй столбец строки заносим цену товара

.Tables(1).Cell(i,2).Select()

.TypeText(ALLTRIM(STR(tovari.prise)))

.Tables(1).Cell(i,3).Select()

.TypeText(ALLTRIM(STR(tovari.prise*0.15)))

ENDWITH

*переходим к следующей строке

i=i+1

ENDSCAN

*для второго столбца таблицы указываем авторазмер

oWord.Selection.Tables(1).Columns(2).autofit()

*делаем Ворд видимым

oWord.visible=.T.

Excel

*создаем объект приложения

oExcel=CREATEOBJECT('Excel.Application')

*создаем в приложении новую книгу

oMyBook=oExcel.Workbooks.Add()

*получаем ссылку на первый рабочий лист

oMySheet=oMyBook.Worksheets(1)

*выбираем источник данных, в нашем случае - таблицу goods

qqq=VAL(ALLTRIM(thisform.text1.Value))

SELECT Firmi.num_zak, Firmi.fam, Firmi.imya, Zakaz.k_izd, Zakaz.kol,;

Tovar.prise;

FROM;

ELIT!FIRMI;

INNER JOIN ELIT!ZAKAZ;

ON Firmi.num_zak = Zakaz.num_zak;

INNER JOIN ELIT!TOVAR;

ON Zakaz.k_izd = Tovar.k_izd;

WHERE Firmi.num_zak = qqq;

ORDER BY Firmi.num_zak INTO TABLE result

 

 

SELECT result

*перемещаем указатель в таблице в начало

GO top

*oMySheet.cells(11,11).value=ALLTRIM(qqq)

*a=VAL(qqq)

 

*переменная i будет определять номер строкина рабочем листе Excel

oMySheet.cells(1,1).value=("номер заказа")

oMySheet.cells(1,2).value=("фамилия")

oMySheet.cells(1,3).value=("имя")

oMySheet.cells(1,4).value=("код изделия")

oMySheet.cells(1,5).value=("количество")

oMySheet.cells(1,6).value=("цена за 1")

oMySheet.cells(1,7).value=("цена по 1 товару")

oMySheet.cells(10,6).value=("общая цена = ")

i=2

*цикл SCAN перебирает все записи в таблице

SCAN

*помещаем в i-ю строку в первый столбец название товара

*oMySheet.cells(i,1).value=l12z4.num_zak

*помещаем в i-ю строку во второй столбец цену товара

oMySheet.cells(i,1).value=result.num_zak

oMySheet.cells(i,2).value=result.fam

oMySheet.cells(i,3).value=result.imya

oMySheet.cells(i,4).value=result.k_izd

oMySheet.cells(i,5).value=result.kol

oMySheet.cells(i,6).value=result.prise

s="=E"+ALLTRIM(STR(i))+"*F"+ALLTRIM(STR(i))

oMySheet.cells(i,7).formula = s

*oMySheet.cells(10,7).value=oMySheet.cells(10,2)

*k="=СУММ(G"+ALLTRIM(STR(i))+":G10"

*oMySheet.cells(10,i).formula = k

*переходим к следующей строке

k = CAST(i as c)

oMySheet.cells(10,7).formula = "=СУММ(G2:G"+k+")"

i=i+1

 

ENDSCAN

*r=2

*DO while oMySheet.cells(r,5).value<>" "

*s="=E"+ALLTRIM(STR(r))+"*F"+ALLTRIM(STR(r))

*oMySheet.cells(r,7).formula = s

*r=r+1

*ENDDO

 

 

*выделяем весь лист Excel

oMySheet.cells.select

*подгоняем ширину столбцов по содержимому

oMySheet.cells.EntireColumn.AutoFit

*переводим курсор на ячейку А1

*oMySheet.cells(1,1).select

*делаем приложение видимым на экране

oExcel.Visible=.T.

 

 


Дата добавления: 2015-08-28; просмотров: 48 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
к Правилам организации и проведения | Автомобиль Нива CHEVROLET, декабрь 2013 года, в хорошем состоянии, максимальная комплектация (GLC), один владелец, пробег 14000 км., цвет черно-синий металлик (млечный путь), тонировка, магнитола,

mybiblioteka.su - 2015-2024 год. (0.018 сек.)