Работа с “Word”, “Excel” и ActiveX

Страницы работы

Содержание работы

Работа с “Word”, “Excel” и ActiveX

1.  Понятие о COM-клиенте и COM-сервере

1)   

Если VTF использует Word или Excel или любое другое объектное приложение, то такое приложение называется COM-клиент.

2)   

Если Access использует VTF как свой объект, то это приложение VTF называется COM-клиент.

3)  VTFкак COM-клиент.

Для того чтобы получить ссылку на COM-объект нужно использовать функцию CreateObject(). В скобках указывается имя объекта и его класс.

Листинг программы экспорта в Word

Процедуру необходимо адаптировать к Вашему проекту.

1)  LOCAL loWord

2)  loWord=CREATEOBJECT("Word.Application")

3)  loWord.displayAlerts=.F.

4)  loWord.Documents.Add("Normal",.F.)

5)  with loWord 

6)  .Visible=.t.

7)  with .Selection

8)  .Font.Bold=.T.

9)  .Font.SIZE=16

10)  .Font.NAME="Times New Roman"

11)  .ParagraphFormat.ALIGNMENT=1

12)  .typeText('Динамика выполнения дипломного проектирования на кафедре ИТС')

13)  .Font.SIZE=12

14)  .Font.NAME="Times New Roman"

15)  .typeParagraph

16)  .Font.Bold=.F.

17)  Use data1!rukovoditely

18)  SELECT TRIM(s_fam),Trim(r_fam),TRIM(group),Trim(sr_1),Trim(sr_2);

19)  FROM data1!rukovoditely;

20)  order by group,s_fam;

21)  INTO ARRAY a

22)  IF _TALLY>0

23)  .typeParagraph

24)  .typeText('')

25)  rowsCount=ALEN(a,1)

26)  colsCount=ALEN(a,2)

27)  loWord.ActiveDocument.TABLES.ADD(.RANGE,rowsCount+1,colsCount)

28)  T=.TABLES(1)

29)  WITH T 

30)  .cell(1,1).RANGE.TEXT='Дипломник'

31)  .cell(1,1).RANGE.FONT.Bold=.T.

32)  .cell(1,2).RANGE.TEXT='Руководитель'

33)  .cell(1,2).RANGE.FONT.Bold=.T.

34)  .cell(1,3).RANGE.TEXT='Группа'

35)  .cell(1,3).RANGE.FONT.Bold=.T.

36)  .cell(1,4).RANGE.TEXT='На 27.11.06'

37)  .cell(1,4).RANGE.FONT.Bold=.T.

38)  .cell(1,5).RANGE.TEXT='На 12.12.06'

39)  .cell(1,5).RANGE.FONT.Bold=.T.

40)  j=2

41)  FOR j=2 TO rowsCount+1

42)  .cell(j,1).RANGE.TEXT=a[j-1,1]

43)  .cell(j,2).RANGE.TEXT=a[j-1,2]

44)  .cell(j,3).RANGE.TEXT=a[j-1,3]

45)  .cell(j,4).RANGE.TEXT=a[j-1,4]

46)  .cell(j,5).RANGE.TEXT=a[j-1,5]

47)  ENDFOR

48)  ENDWITH  

49)  .EndKey(6)

50)  .typeParagraph

51)  RELEASE a

52)  ELSE

53)  .typeParagraph

54)  .typeText("Нет сведений о дипломниках")

55)  .typeParagraph

56)  ENDIF

57)  ENDWITH  

58)  ENDWITH  

59)  RELEASE TO WORD

Структура таблицы rukovoditely

r_fam

r_im

r_ot

s_im

s_fam

s_ot

group

Похожие материалы

Информация о работе