ВУЗ:
Составители:
ɫɜɨɣɫɬɜɚ ɪɟɚɥɶɧɵɦ ɰɜɟɬɚɦ ɦɨɠɧɨ ɧɚɣɬɢ ɜ ɫɩɪɚɜɨɱɧɨɦ ɮɚɣɥɟ
VBAXL9.CHM.
Ɉɛɪɚɬɢɬɶɫɹ ɤ ɬɟɤɭɳɟɣ ɹɱɟɣɤɟ ɦɨɠɧɨ ɫ ɩɨɦɨɳɶɸ ɫɜɨɣɫɬɜɚ ActiveCell
ɨɛɴɟɤɬɚ Excel.Application, ɚ ɭɡɧɚɬɶ ɦɟɫɬɨɩɨɥɨɠɟɧɢɟ ɹɱɟɣɤɢ ɦɨɠɧɨ ɫ ɩɨ-
ɦɨɳɶɸ ɫɜɨɣɫɬɜɚ Address ɨɛɴɟɤɬɚ Cell, ɧɚɩɪɢɦɟɪ:
ShowMessage(App.ActiveCell.Address);
ɉɨɦɢɦɨ ɨɛɪɚɳɟɧɢɹ ɤ ɨɬɞɟɥɶɧɵɦ ɹɱɟɣɤɚɦ, ɦɨɠɧɨ ɦɚɧɢɩɭɥɢɪɨɜɚɬɶ
ɩɪɹɦɨɭɝɨɥɶɧɵɦɢ ɨɛɥɚɫɬɹɦɢ ɹɱɟɟɤ ɫ ɩɨɦɨɳɶɸ ɨɛɴɟɤɬɚ Range, ɧɚɩɪɢɦɟɪ:
App.WorkBooks[1].WorkSheets[2].Range[‘A1:C5’].Value := ‘Test’;
App.WorkBooks[1].WorkSheets[2].Range[‘A1:C5’].Font.Color := clRed;
ɉɪɢɜɟɞɟɧɧɵɣ ɜɵɲɟ ɤɨɞ ɩɪɢɜɨɞɢɬ ɤ ɡɚɩɨɥɧɟɧɢɸ ɩɪɹɦɨɭɝɨɥɶɧɨɝɨ ɭɱɚ-
ɫɬɤɚ ɬɟɤɫɬɨɦ ɢ ɤ ɢɡɦɟɧɟɧɢɸ ɰɜɟɬɚ ɲɪɢɮɬɚ ɹɱɟɟɤ.
Ɉɛɴɟɤɬ Range ɬɚɤɠɟ ɱɚɫɬɨ ɢɫɩɨɥɶɡɭɟɬɫɹ ɞɥɹ ɤɨɩɢɪɨɜɚɧɢɹ ɩɪɹɦɨ-
ɭɝɨɥɶɧɵɯ ɨɛɥɚɫɬɟɣ ɱɟɪɟɡ ɛɭɮɟɪ ɨɛɦɟɧɚ. ɇɢɠɟ ɩɪɢɜɟɞɟɧ ɩɪɢɦɟɪ, ɢɥɥɸɫɬ-
ɪɢɪɭɸɳɢɣ ɤɨɩɢɪɨɜɚɧɢɟ ɬɚɤɨɣ ɨɛɥɚɫɬɢ:
App.WorkBooks[1].WorkSheets[2].Range[‘A1:C5’].Copy;
App.WorkBooks[1].WorkSheets[2].Range[‘A11:C15’].Select;
App.WorkBooks[1].WorkSheets[2].Paste;
Ɉɛɪɚɬɢɬɟ ɜɧɢɦɚɧɢɟ ɧɚ ɬɨ, ɱɬɨ ɞɢɚɩɚɡɨɧ, ɤɭɞɚ ɤɨɩɢɪɭɸɬɫɹ ɞɚɧɧɵɟ,
ɩɪɟɞɜɚɪɢɬɟɥɶɧɨ ɜɵɞɟɥɹɟɬɫɹ ɫ ɩɨɦɨɳɶɸ ɦɟɬɨɞɚ Select.
Ɉɬɦɟɬɢɦ, ɱɬɨ ɩɪɢɦɟɪɧɨ ɬɚɤɢɦ ɠɟ ɨɛɪɚɡɨɦ ɦɨɠɧɨ ɤɨɩɢɪɨɜɚɬɶ ɞɚɧɧɵɟ
ɢ ɢɡ ɞɪɭɝɢɯ ɩɪɢɥɨɠɟɧɢɣ (ɧɚɩɪɢɦɟɪ, ɢɡ Microsoft Word).
Ⱦɨɜɨɥɶɧɨ ɱɚɫɬɨ ɩɪɢ ɚɜɬɨɦɚɬɢɡɚɰɢɢ Excel ɢɫɩɨɥɶɡɭɸɬɫɹ ɟɝɨ ɜɨɡɦɨɠ-
ɧɨɫɬɢ, ɫɜɹɡɚɧɧɵɟ ɫ ɩɨɫɬɪɨɟɧɢɟɦ ɞɢɚɝɪɚɦɦ. ɇɢɠɟ ɦɵ ɪɚɫɫɦɨɬɪɢɦ, ɤɚɤ ɷɬɨ
ɫɞɟɥɚɬɶ.
6.5.5. ɋɨɡɞɚɧɢɟ ɞɢɚɝɪɚɦɦ
Ⱦɢɚɝɪɚɦɦɚɦ Excel ɫɨɨɬɜɟɬɫɬɜɭɟɬ ɨɛɴɟɤɬ Chart, ɤɨɬɨɪɵɣ ɦɨɠɟɬ ɪɚɫ-
ɩɨɥɚɝɚɬɶɫɹ ɤɚɤ ɧɚ ɨɬɞɟɥɶɧɨɦ ɥɢɫɬɟ, ɬɚɤ ɢ ɧɚ ɥɢɫɬɟ ɫ ɞɚɧɧɵɦɢ. ȿɫɥɢ ɨɛɴ-
ɟɤɬ Chart ɪɚɫɩɨɥɚɝɚɟɬɫɹ ɧɚ ɥɢɫɬɟ ɫ ɞɚɧɧɵɦɢ, ɟɦɭ ɫɨɨɬɜɟɬɫɬɜɭɟɬ ɱɥɟɧ ɤɨɥ-
ɥɟɤɰɢɢ ChartObjects ɨɛɴɟɤɬɚ WorkSheet ɢ ɫɨɡɞɚɧɢɟ ɞɢɚɝɪɚɦɦɵ ɧɭɠɧɨ ɧɚ-
ɱɚɬɶ ɫ ɞɨɛɚɜɥɟɧɢɹ ɷɥɟɦɟɧɬɚ ɜ ɷɬɭ ɤɨɥɥɟɤɰɢɸ:
Ch:=App.WorkBooks[1].WorkSheets[2].ChartObjects.Add(10,50,400,400);
ɉɚɪɚɦɟɬɪɚɦɢ ɷɬɨɝɨ ɦɟɬɨɞɚ ɹɜɥɹɸɬɫɹ ɤɨɨɪɞɢɧɚɬɵ ɥɟɜɨɝɨ ɜɟɪɯɧɟɝɨ ɭɝ-
ɥɚ ɢ ɪɚɡɦɟɪɵ ɞɢɚɝɪɚɦɦɵ ɜ ɩɭɧɤɬɚɯ (1/72 ɞɸɣɦɚ).
ȿɫɥɢ ɠɟ ɞɢɚɝɪɚɦɦɚ ɪɚɫɩɨɥɚɝɚɟɬɫɹ ɧɚ ɨɬɞɟɥɶɧɨɦ ɥɢɫɬɟ (ɧɟ ɩɪɟɞɧɚɡɧɚ-
ɱɟɧɧɨɦ ɞɥɹ ɯɪɚɧɟɧɢɹ ɞɚɧɧɵɯ), ɬɨ ɫɨɡɞɚɧɢɟ ɞɢɚɝɪɚɦɦɵ ɧɭɠɧɨ ɧɚɱɚɬɶ ɫ
ɞɨɛɚɜɥɟɧɢɹ ɷɥɟɦɟɧɬɚ ɜ ɤɨɥɥɟɤɰɢɸ Sheets ɨɛɴɟɤɬɚ Application (ɤɨɬɨɪɚɹ ɨɬ-
71
ɥɢɱɚɟɬɫɹ ɨɬ ɤɨɥɥɟɤɰɢɢ WorkSheets ɬɟɦ, ɱɬɨ ɫɨɞɟɪɠɢɬ ɥɢɫɬɵ ɜɫɟɯ ɬɢɩɨɜ, ɚ
ɧɟ ɬɨɥɶɤɨ ɥɢɫɬɵ ɫ ɞɚɧɧɵɦɢ):
App.WorkBooks[1].Sheets.Add(,,1,xlWBATChart);
ȼ ɷɬɨɦ ɫɥɭɱɚɟ ɩɟɪɜɵɣ ɩɚɪɚɦɟɬɪ ɦɟɬɨɞɚ Add ɭɤɚɡɵɜɚɟɬ ɩɨɪɹɞɤɨɜɵɣ
ɧɨɦɟɪ ɥɢɫɬɚ, ɩɟɪɟɞ ɤɨɬɨɪɵɦ ɧɭɠɧɨ ɩɨɦɟɫɬɢɬɶ ɞɚɧɧɵɣ ɥɢɫɬ (ɢɥɢ ɞɚɧɧɵɟ
ɥɢɫɬɵ, ɟɫɥɢ ɢɯ ɧɟɫɤɨɥɶɤɨ), ɜɬɨɪɨɣ ɩɚɪɚɦɟɬɪ – ɩɨɪɹɞɤɨɜɵɣ ɧɨɦɟɪ ɥɢɫɬɚ,
ɩɨɫɥɟ ɤɨɬɨɪɨɝɨ ɧɭɠɧɨ ɩɨɦɟɫɬɢɬɶ ɞɚɧɧɵɣ ɥɢɫɬ (ɢɫɩɨɥɶɡɭɟɬɫɹ ɨɛɵɱɧɨ ɨɞɢɧ
ɢɡ ɧɢɯ), ɬɪɟɬɢɣ ɩɚɪɚɦɟɬɪ – ɫɤɨɥɶɤɨ ɧɭɠɧɨ ɫɨɡɞɚɬɶ ɥɢɫɬɨɜ, ɚ ɱɟɬɜɟɪɬɵɣ –
ɤɚɤɨɝɨ ɬɢɩɚ ɞɨɥɠɟɧ ɛɵɬɶ ɥɢɫɬ. Ɂɧɚɱɟɧɢɹ ɱɟɬɜɟɪɬɨɝɨ ɩɚɪɚɦɟɬɪɚ ɫɨɜɩɚɞɚɸɬ
ɫɨ ɡɧɚɱɟɧɢɹɦɢ ɩɟɪɜɨɝɨ ɩɚɪɚɦɟɬɪɚ ɦɟɬɨɞɚ Add ɤɨɥɥɟɤɰɢɢ WorkBooks ɨɛɴ-
ɟɤɬɚ Application, ɢ ɩɪɢ ɢɫɩɨɥɶɡɨɜɚɧɢɢ ɢɦɟɧ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɯ ɤɨɧɫɬɚɧɬ
ɫɥɟɞɭɟɬ ɨɩɪɟɞɟɥɢɬɶ ɢɯ ɜ ɩɪɢɥɨɠɟɧɢɢ-ɤɨɧɬɪɨɥɥɟɪɟ.
ɉɪɨɫɬɟɣɲɢɣ ɫɩɨɫɨɛ ɫɨɡɞɚɬɶ ɞɢɚɝɪɚɦɦɭ, ɫ ɬɨɱɤɢ ɡɪɟɧɢɹ ɩɨɥɶɡɨɜɚɬɟɥɹ, –
ɫɨɡɞɚɬɶ ɟɟ ɫ ɩɨɦɨɳɶɸ ɫɨɨɬɜɟɬɫɬɜɭɸɳɟɝɨ ɷɤɫɩɟɪɬɚ ɧɚ ɨɫɧɨɜɟ ɩɪɹɦɨɭɝɨɥɶɧɨɣ
ɨɛɥɚɫɬɢ ɫ ɞɚɧɧɵɦɢ. Ɍɨɱɧɨ ɬɚɤ ɠɟ ɦɨɠɧɨ ɫɨɡɞɚɬɶ ɞɢɚɝɪɚɦɦɭ ɢ ɫ ɩɨɦɨɳɶɸ
ɤɨɧɬɪɨɥɥɟɪɚ ɚɜɬɨɦɚɬɢɡɚɰɢɢ – ɞɥɹ ɷɬɨɣ ɰɟɥɢ ɭ ɨɛɴɟɤɬɚ Chart, ɹɜɥɹɸɳɟɝɨɫɹ
ɫɜɨɣɫɬɜɨɦ ɨɛɴɟɤɬɚ ChartObject (ɱɥɟɧɚ ɤɨɥɥɟɤɰɢɢ ChartObjects), ɢɦɟɟɬɫɹ ɦɟ-
ɬɨɞ ChartWizard. ɉɟɪɜɵɦ ɩɚɪɚɦɟɬɪɨɦ ɷɬɨɝɨ ɦɟɬɨɞɚ ɹɜɥɹɟɬɫɹ ɨɛɴɟɤɬ Range,
ɫɨɞɟɪɠɚɳɢɣ ɞɢɚɩɚɡɨɧ ɹɱɟɟɤ ɞɥɹ ɩɨɫɬɪɨɟɧɢɹ ɞɢɚɝɪɚɦɦɵ, ɚ ɜɬɨɪɵɦ – ɱɢɫɥɨ-
ɜɨɣ ɩɚɪɚɦɟɬɪ, ɭɤɚɡɵɜɚɸɳɢɣ, ɤɚɤɨɝɨ ɬɢɩɚ ɞɨɥɠɧɚ ɛɵɬɶ ɷɬɚ ɞɢɚɝɪɚɦɦɚ:
Var Ch: Variant;
…
Ch.Chart.ChartWizard(App.WorkBooks[1].WorkSheets[2].Range[‘A1:C5’],
xl3DColumn);
ȼɨɡɦɨɠɧɵɟ ɡɧɚɱɟɧɢɹ ɩɚɪɚɦɟɬɪɚ, ɨɬɜɟɱɚɸɳɟɝɨ ɡɚ ɬɢɩ ɞɢɚɝɪɚɦɦɵ,
ɦɨɠɧɨ ɧɚɣɬɢ ɜ ɫɩɪɚɜɨɱɧɨɦ ɮɚɣɥɟ.
ɍ ɨɛɴɟɤɬɚ Chart ɢɦɟɟɬɫɹ ɦɧɨɠɟɫɬɜɨ ɫɜɨɣɫɬɜ,
ɨɬɜɟɱɚɸɳɢɯ ɡɚ ɜɧɟɲɧɢɣ
ɜɢɞ ɞɢɚɝɪɚɦɦɵ, ɫ ɩɨɦɨɳɶɸ ɤɨɬɨɪɵɯ ɦɨɠɧɨ ɢɡɦɟɧɢɬɶ ɟɟ ɬɨɱɧɨ ɬɚɤ ɠɟ, ɤɚɤ
ɩɨɥɶɡɨɜɚɬɟɥɢ ɞɟɥɚɸɬ ɷɬɨ ɜɪɭɱɧɭɸ. ɇɢɠɟ ɩɪɢɜɨɞɢɬɫɹ ɩɪɢɦɟɪ ɫɨɡɞɚɧɢɹ ɡɚ-
ɝɨɥɨɜɤɚ ɞɢɚɝɪɚɦɦɵ ɢ ɩɨɞɩɢɫɟɣ ɜɞɨɥɶ ɟɟ ɨɫɟɣ (ɨɬɦɟɬɢɦ, ɱɬɨ ɨɫɢ ɟɫɬɶ ɧɟ ɭ
ɜɫɟɯ ɬɢɩɨɜ ɞɢɚɝɪɚɦɦ).
Ch.Chart.HasTitle :=1;
Ch.Chart.HasLegend := False;
Ch.Chart.ChartTitle.Text := ‘ɉɪɢɦɟɪ ɞɢɚɝɪɚɦɦɵ Excel ‘;
Ch.Chart.Axes(1).HasTitle := True;
Ch.Chart.Axes(1).AxisTitle.Text := ‘ɉɨɞɩɢɫɶ ɜɞɨɥɶ ɨɫɢ ɚɛɫɰɢɫɫ’;
Ch.Chart.Axes(2).HasTitle := True;
Ch.Chart.Axes(2).AxisTitle.Text := ‘ɉɨɞɩɢɫɶ ɜɞɨɥɶ ɨɫɢ ɨɪɞɢɧɚɬ’;
ȿɳɟ ɨɞɢɧ ɫɩɨɫɨɛ ɫɨɡɞɚɧɢɹ ɞɢɚɝɪɚɦɦɵ – ɨɩɪɟɞɟɥɢɬɶ ɜɫɟ ɟɟ ɩɚɪɚɦɟɬɪɵ
ɫ ɩɨɦɨɳɶɸ ɫɜɨɣɫɬɜ ɨɛɴɟɤɬɚ Chart, ɜɤɥɸɱɚɹ ɢ ɨɩɪɟɞɟɥɟɧɢɟ ɫɟɪɢɣ, ɧɚ ɨɫɧɨ-
72
�������� �������� ������ ����� ����� � ���������� ����� �������� �� ��������� WorkSheets ���, ��� �������� ����� ���� �����, � VBAXL9.CHM. �� ������ ����� � �������): ���������� � ������� ������ ����� � ������� �������� ActiveCell App.WorkBooks[1].Sheets.Add(,,1,xlWBATChart); ������� Excel.Application, � ������ �������������� ������ ����� � ��- ����� �������� Address ������� Cell, ��������: � ���� ������ ������ �������� ������ Add ��������� ���������� ShowMessage(App.ActiveCell.Address); ����� �����, ����� ������� ����� ��������� ������ ���� (��� ������ �����, ���� �� ���������), ������ �������� – ���������� ����� �����, ������ ��������� � ��������� �������, ����� �������������� ����� �������� ����� ��������� ������ ���� (������������ ������ ���� �������������� ��������� ����� � ������� ������� Range, ��������: �� ���), ������ �������� – ������� ����� ������� ������, � ��������� – App.WorkBooks[1].WorkSheets[2].Range[‘A1:C5’].Value := ‘Test’; ������ ���� ������ ���� ����. �������� ���������� ��������� ��������� App.WorkBooks[1].WorkSheets[2].Range[‘A1:C5’].Font.Color := clRed; �� ���������� ������� ��������� ������ Add ��������� WorkBooks ���- ���� Application, � ��� ������������� ���� ��������������� �������� ����������� ���� ��� �������� � ���������� �������������� ���- ������� ���������� �� � ����������-�����������. ���� ������� � � ��������� ����� ������ �����. ���������� ������ ������� ���������, � ����� ������ ������������, – ������ Range ����� ����� ������������ ��� ����������� �����- ������� �� � ������� ���������������� �������� �� ������ ������������� �������� �������� ����� ����� ������. ���� �������� ������, ������- ������� � �������. ����� ��� �� ����� ������� ��������� � � ������� �������� ����������� ����� �������: ����������� ������������� – ��� ���� ���� � ������� Chart, ����������� App.WorkBooks[1].WorkSheets[2].Range[‘A1:C5’].Copy; ��������� ������� ChartObject (����� ��������� ChartObjects), ������� ��- App.WorkBooks[1].WorkSheets[2].Range[‘A11:C15’].Select; ��� ChartWizard. ������ ���������� ����� ������ �������� ������ Range, App.WorkBooks[1].WorkSheets[2].Paste; ���������� �������� ����� ��� ���������� ���������, � ������ – �����- ��� ��������, �����������, ������ ���� ������ ���� ��� ���������: �������� �������� �� ��, ��� ��������, ���� ���������� ������, Var Ch: Variant; �������������� ���������� � ������� ������ Select. … �������, ��� �������� ����� �� ������� ����� ���������� ������ Ch.Chart.ChartWizard(App.WorkBooks[1].WorkSheets[2].Range[‘A1:C5’], � �� ������ ���������� (��������, �� Microsoft Word). xl3DColumn); �������� ����� ��� ������������� Excel ������������ ��� ������- �����, ��������� � ����������� ��������. ���� �� ����������, ��� ��� ��������� �������� ���������, ����������� �� ��� ���������, �������. ����� ����� � ���������� �����. � ������� Chart ������� ��������� �������, ���������� �� ������� 6.5.5. �������� �������� ��� ���������, � ������� ������� ����� �������� �� ����� ��� ��, ��� ������������ ������ ��� �������. ���� ���������� ������ �������� ��- ���������� Excel ������������� ������ Chart, ������� ����� ���- ������� ��������� � �������� ����� �� ���� (�������, ��� ��� ���� �� � ���������� ��� �� ��������� �����, ��� � �� ����� � �������. ���� ���- ���� ����� ��������). ��� Chart ������������� �� ����� � �������, ��� ������������� ���� ���- Ch.Chart.HasTitle :=1; ������ ChartObjects ������� WorkSheet � �������� ��������� ����� ��- Ch.Chart.HasLegend := False; ���� � ���������� �������� � ��� ���������: Ch.Chart.ChartTitle.Text := ‘������ ��������� Excel ‘; Ch:=App.WorkBooks[1].WorkSheets[2].ChartObjects.Add(10,50,400,400); Ch.Chart.Axes(1).HasTitle := True; ����������� ����� ������ �������� ���������� ������ �������� ��- Ch.Chart.Axes(1).AxisTitle.Text := ‘������� ����� ��� �������’; �� � ������� ��������� � ������� (1/72 �����). Ch.Chart.Axes(2).HasTitle := True; ���� �� ��������� ������������� �� ��������� ����� (�� ���������- Ch.Chart.Axes(2).AxisTitle.Text := ‘������� ����� ��� �������’; ������ ��� �������� ������), �� �������� ��������� ����� ������ � ���������� �������� � ��������� Sheets ������� Application (������� ��- ��� ���� ������ �������� ��������� – ���������� ��� �� ��������� � ������� ������� ������� Chart, ������� � ����������� �����, �� ����- 71 72
Страницы
- « первая
- ‹ предыдущая
- …
- 34
- 35
- 36
- 37
- 38
- …
- следующая ›
- последняя »