Основы COM-технологий. Артемов М.А. и др. - 34 стр.

UptoLike

Составители: 

Ɉɛɴɟɤɬ
ɉɪɨɝɪɚɦɦɧɵɣ
ɢɞɟɧɬɢɮɢɤɚɬɨɪ
Ʉɨɦɦɟɧɬɚɪɢɣ
ɋ ɩɨɦɨɳɶɸ ɷɬɨɝɨ ɩɪɨɝɪɚɦɦɧɨɝɨ ɢɞɟɧ-
ɬɢɮɢɤɚɬɨɪɚ ɫɨɡɞɚɟɬɫɹ ɷɤɡɟɦɩɥɹɪ
ɢɥɨɠɟɧɢɹ ɛɟɡ ɨɬɤɪɵɬɵɯ ɪɚɛɨɱɢɯ ɤɧɢ
Excel.Application,
Excel.Application.9
Application
ɩɪ ɝ
WorkBook Excel.AddIn
ɋ ɩɨɦɨɳɶɸ ɷɬɨɝɨ ɩɪɨɝɪɚɦɦɧɨɝɨ ɢɞɟɧ-
ɬɢɮɢɤɚɬɨɪɚ ɫɨɡɞɚɟɬɫɹ ɷɤɡɟɦɩɥɹɪ ɪɚɫɲɢ-
ɪɟɧɢɹ (add-in) Excel (ɢɦɟɸɳɢɟɫɹ ɪɚɫɲɢ-
ɪɟɧɢɹ ɞɨɫɬɭɩɧɵ ɫ ɩɨɦɨɳɶɸ ɩɭɧɤɬɚ ɦɟ-
ɧɸ Tools/Add-Ins)
Ɋɚɛɨɱɚɹ ɤɧɢɝɚ, ɫɨɡɞɚɧɧɚɹ ɫ ɩɨɦɨɳɶɸ
ɷɬɢɯ ɩɪɨɝɪɚɦɦɧɵɯ ɢɞɟɧɬɢɮɢɤɚɬɨɪɨɜ,
ɫɨɫɬɨɢɬ ɢɡ ɞɜɭɯ ɥɢɫɬɨɜɨɞɧɨɝɨ ɞɥɹ
ɞɢɚɝɪɚɦɦɵ, ɞɪɭɝɨɝɨɞɥɹ ɞɚɧɧɵɯ, ɧɚ
ɨɫɧɨɜɟ ɤɨɬɨɪɵɯ ɨɧɚ ɩɨɫɬɪɨɟɧɚ
Excel.Chart,
Excel.Chart.8
Chart
Ɋɚɛɨɱɚɹ ɤɧɢɝɚ, ɫɨɡɞɚɧɧɚɹ ɫ ɩɨɦɨɳɶɸ
ɷɬɢɯ ɩɪɨɝɪɚɦɦɧɵɯ ɢɞɟɧɬɢɮɢɤɚɬɨɪɨɜ,
ɫɨɫɬɨɢɬ ɢɡ ɨɞɧɨɝɨ ɥɢɫɬɚ
Excel.Sheet,
Excel.Sheet.8
WorkSheet
ȼɫɟ ɨɫɬɚɥɶɧɵɟ ɨɛɴɟɤɬɵ Excel ɹɜɥɹɸɬɫɹ ɜɧɭɬɪɟɧɧɢɦɢ ɨɛɴɟɤɬɚɦɢ ɢ
ɫɭɳɟɫɬɜɨɜɚɬɶ ɫɚɦɨɫɬɨɹɬɟɥɶɧɨ ɧɟ ɦɨɝɭɬ.
Ɉɫɧɨɜɧɵɦ ɜ ɨɛɴɟɤɬɧɨɣ ɦɨɞɟɥɢ Excel ɹɜɥɹɟɬɫɹ ɨɛɴɟɤɬ Application, ɫɨ-
ɞɟɪɠɚɳɢɣ ɤɨɥɥɟɤɰɢɸ Workbooks ɨɛɴɟɤɬɨɜ ɬɢɩɚ WorkBook (ɪɢɫ. 3).
Ɋɢɫ. 6.3. Ɏɪɚɝɦɟɧɬ ɨɛɴɟɤɬɧɨɣ ɦɨɞɟɥɢ Microsoft Excel
67
Ʉɚɠɞɵɣ ɨɛɴɟɤɬ ɬɢɩɚ WorkBook ɫɨɞɟɪɠɢɬ ɤɨɥɥɟɤɰɢɸ WorkSheets-
ɨɛɴɟɤɬɨɜ ɬɢɩɚ WorkSheet, Charts ɬɢɩɚ Chart ɢɞɪ. Ɇɚɧɢɩɭɥɹɰɢɹ ɪɚɛɨɱɢɦɢ
ɤɧɢɝɚɦɢ, ɢɯ ɥɢɫɬɚɦɢ, ɹɱɟɣɤɚɦɢ, ɞɢɚɝɪɚɦɦɚɦɢ ɪɟɚɥɶɧɨ ɨɫɭɳɟɫɬɜɥɹɟɬɫɹ
ɩɭɬɟɦ ɨɛɪɚɳɟɧɢɹ ɤ ɫɜɨɣɫɬɜɚɦ ɢ ɦɟɬɨɞɚɦ ɷɬɢɯ ɨɛɴɟɤɬɨɜ.
Ɋɚɫɫɦɨɬɪɢɦ ɧɚɢɛɨɥɟɟ ɱɚɫɬɨ ɜɫɬɪɟɱɚɸɳɢɟɫɹ ɡɚɞɚɱɢ, ɫɜɹɡɚɧɧɵɟ ɫ ɚɜ-
ɬɨɦɚɬɢɡɚɰɢɟɣ Microsoft Excel.
6.5.2. Ɂɚɩɭɫɤ Microsoft Excel, ɫɨɡɞɚɧɢɟ ɢ ɨɬɤɪɵɬɢɟ ɪɚɛɨɱɢɯ ɤɧɢɝ
Ⱦɥɹ ɫɨɡɞɚɧɢɹ ɩɪɢɦɟɪɨɜ ɢɫɩɨɥɶɡɨɜɚɧɢɹ Microsoft Excel ɦɨɠɧɨ ɢɫ-
ɩɨɥɶɡɨɜɚɬɶ ɮɭɧɤɰɢɸ CreateOleObject:
App := CreateOleObject(‘Excel.Application’);
ɋɨɡɞɚɬɶ ɧɨɜɭɸ ɪɚɛɨɱɭɸ ɤɧɢɝɭ Excel ɦɨɠɧɨ, ɢɫɩɨɥɶɡɭɹ ɦɟɬɨɞ Add
ɤɨɥɥɟɤɰɢɢ Workbooks ɨɛɴɟɤɬɚ Application:
App.WorkBooks.Add;
Ⱦɥɹ ɫɨɡɞɚɧɢɹ ɪɚɛɨɱɟɣ ɤɧɢɝɢ ɧɚ ɨɫɧɨɜɟ ɲɚɛɥɨɧɚ ɫɥɟɞɭɟɬ ɭɤɚɡɚɬɶ ɟɝɨ
ɢɦɹ ɜ ɤɚɱɟɫɬɜɟ ɩɟɪɜɨɝɨ ɩɚɪɚɦɟɬɪɚ ɦɟɬɨɞɚ Add:
App.WorkBooks.Add
(‘C:\Program Files\Microsoft Office\Templates\1033\-
invoice.xlt’);
ȼ ɤɚɱɟɫɬɜɟ ɩɟɪɜɨɝɨ ɩɚɪɚɦɟɬɪɚ ɷɬɨɝɨ ɦɟɬɨɞɚ ɦɨɠɧɨ ɬɚɤɠɟ ɢɫɩɨɥɶɡɨ-
ɜɚɬɶ ɫɥɟɞɭɸɳɢɟ ɤɨɧɫɬɚɧɬɵ:
const
xlWBATChart = $FFFFEFF3; //ɪɚɛɨɱɚɹ ɤɧɢɝɚ ɫɨɫɬɨɢɬ ɢɡ ɥɢɫɬɚ ɫ
ɞɢɚɝɪɚɦɦɨɣ
xlWBATWorksheet = $FFFFEFB9; //ɪɚɛɨɱɚɹ ɤɧɢɝɚ ɫɨɫɬɨɢɬ ɢɡ ɥɢɫɬɚ
ɫ ɞɚɧɧɵɦɢ
ȼ ɷɬɨɦ ɫɥɭɱɚɟ ɪɚɛɨɱɚɹ ɤɧɢɝɚ ɛɭɞɟɬ ɫɨɞɟɪɠɚɬɶ ɨɞɢɧ ɥɢɫɬ ɬɢɩɚ, ɡɚɞɚɧ-
ɧɨɝɨ ɭɤɚɡɚɧɧɨɣ ɤɨɧɫɬɚɧɬɨɣ (ɝɪɚɮɢɤ, ɨɛɵɱɧɵɣ ɥɢɫɬ ɫ ɞɚɧɧɵɦɢ ɢ ɞɪ.)
Ⱦɥɹ ɨɬɤɪɵɬɢɹ ɭɠɟ ɫɭɳɟɫɬɜɭɸɳɟɝɨ ɞɨɤɭɦɟɧɬɚ ɫɥɟɞɭɟɬ ɜɨɫɩɨɥɶɡɨ-
ɜɚɬɶɫɹ ɦɟɬɨɞɨɦ Open ɤɨɥɥɟɤɰɢɢ WorkBooks:
App.Documents.Open(‘C:\MyExcelFile.xls’);
Ɉɬɦɟɬɢɦ, ɱɬɨ ɫɜɨɣɫɬɜɨ ActiveWorkBook ɨɛɴɟɤɬɚ Excel.Application
ɭɤɚɡɵɜɚɟɬ ɧɚ ɬɟɤɭɳɭɸ ɚɤɬɢɜɧɭɸ ɪɚɛɨɱɭɸ ɤɧɢɝɭ ɫɪɟɞɢ ɨɞɧɨɣ ɢɥɢ ɧɟ-
ɫɤɨɥɶɤɢɯ ɨɬɤɪɵɬɵɯ. ɉɨɦɢɦɨ ɷɬɨɝɨ ɤ ɪɚɛɨɱɟɣ ɤɧɢɝɟ ɦɨɠɧɨ ɨɛɪɚɳɚɬɶɫɹ ɩɨ
ɟɟ ɩɨɪɹɞɤɨɜɨɦɭ ɧɨɦɟɪɭ, ɧɚɩɪɢɦɟɪ ɤɨ ɜɬɨɪɨɣ ɨɬɤɪɵɬɨɣ ɪɚɛɨɱɟɣ ɤɧɢɝɟ
ɦɨɠɧɨ ɨɛɪɚɬɢɬɶɫɹ ɬɚɤ:
App.WorkBooks[2]
68
               �����������                                                       ������ ������ ���� WorkBook �������� ��������� WorkSheets-
 ������                                         �����������                  �������� ���� WorkSheet, Charts ���� Chart � ��. ����������� ��������
               �������������
                                     � ������� ����� ������������ ����-      �������, �� �������, ��������, ����������� ������� ��������������
              Excel.Application,                                             ����� ��������� � ��������� � ������� ���� ��������.
Application                              ���������� ��������� ���������
              Excel.Application.9                                                ���������� �������� ����� ������������� ������, ��������� � ��-
                                    ���������� ��� �������� ������� ����
                                                                             ������������ Microsoft Excel.
                                     � ������� ����� ������������ ����-
                                    ���������� ��������� ��������� �����-       6.5.2. ������ Microsoft Excel, �������� � �������� ������� ����
WorkBook         Excel.AddIn        ����� (add-in) Excel (��������� �����-
                                     ����� �������� � ������� ������ ��-         ��� �������� �������� ������������� Microsoft Excel ����� ��-
                                                �� Tools/Add-Ins)            ���������� ������� CreateOleObject:
                                      ������� �����, ��������� � �������         App := CreateOleObject(‘Excel.Application’);
                                      ���� ����������� ���������������,
                Excel.Chart,                                                     ������� ����� ������� ����� Excel �����, ��������� ����� Add
  Chart                                ������� �� ���� ������ – ������ ���
                Excel.Chart.8                                                ��������� Workbooks ������� Application:
                                      ���������, ������� – ��� ������, ��
                                          ������ ������� ��� ���������           App.WorkBooks.Add;
                                      ������� �����, ��������� � �������          ��� �������� ������� ����� �� ������ ������� ������� ������� ���
                Excel.Sheet,
WorkSheet                             ���� ����������� ���������������,      ��� � �������� ������� ��������� ������ Add:
                Excel.Sheet.8
                                             ������� �� ������ �����              App.WorkBooks.Add (‘C:\Program Files\Microsoft Office\Templates\1033\-
                                                                             invoice.xlt’);
    ��� ��������� ������� Excel �������� ����������� ��������� �
������������ �������������� �� �����.                                             � �������� ������� ��������� ����� ������ ����� ����� ��������-
    �������� � ��������� ������ Excel �������� ������ Application, ��-       ���� ��������� ���������:
�������� ��������� Workbooks �������� ���� WorkBook (���. 3).                     const
                                                                                    xlWBATChart = $FFFFEFF3; //������� ����� ������� �� ����� �
                                                                             ����������
                                                                                    xlWBATWorksheet = $FFFFEFB9; //������� ����� ������� �� �����
                                                                             � �������

                                                                                 � ���� ������ ������� ����� ����� ��������� ���� ���� ����, �����-
                                                                             ���� ��������� ���������� (������, ������� ���� � ������� � ��.)
                                                                                 ��� �������� ��� ������������� ��������� ������� ���������-
                                                                             ������ ������� Open ��������� WorkBooks:
                                                                                 App.Documents.Open(‘C:\MyExcelFile.xls’);

                                                                                 �������, ��� �������� ActiveWorkBook ������� Excel.Application
                                                                             ��������� �� ������� �������� ������� ����� ����� ����� ��� ��-
                                                                             �������� ��������. ������ ����� � ������� ����� ����� ���������� ��
                                                                             �� ����������� ������, �������� �� ������ �������� ������� �����
          ���. 6.3. �������� ��������� ������ Microsoft Excel                ����� ���������� ���:
                                                                                 App.WorkBooks[2]


                                      67                                                                         68