Опубликован: 31.08.2006 | Уровень: специалист | Доступ: платный
Лекция 14:

Автоматизация приложений Microsoft Office и управление процессами

Запуск программы Excel Automation

  1. Щелкните на кнопке Start (Начать) стандартной панели инструментов. Появится калькулятор выплат по закладной.

    Примечание. Готовая программа Excel Automation лежит в папке c:\vbnet03sbs\Гл.13\excel automation.
  2. Введите в текстовое поле Проценты число 0.09.
  3. Введите в текстовое поле Месяцы число 360.
  4. Введите в текстовое поле Основной долг число 150000. Ваша форма долж-на выглядеть примерно так.


  5. Щелкните на кнопке Вычислить. Для вычисления выплат по закладной на сумму $150000 при 9 процентной ставке за 360 месяцев (30 лет) программа использует Excel. Как видно из следующей иллюстрации, результат в окне сообщения равен $1206.93. (Помните, что если это выплаты по займу на покупку дома, то это количество представляет только сумму и процентную ставку - в нее не включены налоги, страховка и другие обычные составляющие!)


  6. Щелкните на кнопке OK окна сообщения, а затем произведите еще несколько вычислений для различных значений.
  7. Когда закончите, щелкните на кнопке Закрыть строки заголовка формы.

Теперь попробуем выполнить упражнение Excel Automation, которое использует множество функций для работы с отображаемой книгой Excel.

Работа с книгами Excel

  1. Щелкните на команде Close Solution (Закрыть решение) в меню File (Файл), а затем создайте в папке c:\vbnet03sbs\Гл.13 новый проект с именем My Excel Sheet Tasks. В этом упражнении используются команды Excel Automation, которые вставляют в ячейки листа числа и метки, применяют форматирование символов, вставляют функцию Sum и сохраняют книгу на диск. Используя эти базовые навыки, вы можете генерировать сложные книги Excel непосредственно из ваших приложений на Visual Basic.
  2. В меню Project (Проект) щелкните на команде Add Reference (Добавить ссылку). Появится диалоговое окно Add Reference (Добавить ссылку).
  3. Щелкните на закладке COM, затем в списке компонент на Microsoft Excel 10.0 Object Library, далее на кнопке Select и на OK. Если вы видите диалоговое окно первичной сборки взаимодействия, щелкните на Yes (Да).
  4. Используя элемент управления Button, добавьте в форму большую кнопку.
  5. Используя окно Properties (Свойства), установите свойство Text объекта кнопки на значение Создать рабочий лист, а затем свойство Text формы на значение Создание рабочих листов Excel. Это единственные свойства, которые вы установите для этой демонстрационной программы - большая часть работы будет выполнена в Microsoft Excel.
  6. Чтобы открыть в Редакторе кода процедуру события Button1_Click, сделайте двойной щелчок мышью на кнопке Создать рабочий лист.
  7. Введите следующие операторы программы:

    'Объявляем объектные переменные Excel и создаем типы
    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet
    xlApp = CType(CreateObject("Excel.Application"), Excel.Application)
    xlBook = CType(xlApp.Workbooks.Add, Excel.Workbook)
    xlSheet = CType(xlBook.Worksheets(1), Excel.Worksheet)
    
    'Добавляем данные
    xlSheet.Cells(1, 2) = 5000
    xlSheet.Cells(2, 2) = 75
    xlSheet.Cells(3, 1) = "Всего"
    'Вводим в ячейку B3 формулу Sum
    xlSheet.Range("B3").Formula = "=Sum(R1C2:R2C2)"
    'Форматируем ячейку B3 жирным шрифтом
    xlSheet.Range("B3").Font.Bold = True
    'Отображаем лист
    xlSheet.Application.Visible = True
    'Сохраняем лист в папке c:\vbnet03sbs\Гл.13
    xlSheet.SaveAs("C:\vbnet03sbs\Гл.13\myexcelsheet.xls")
    'Оставляем Excel работать с открытым листом

    Код программы этой процедуры события несколько длиннее, чем предыдущий пример Excel Automation - он мог бы быть еще длиннее, если бы вы решили добавить в таблицу много значений и использовать различные опции форматирования. Практический интерес представляют первые три объявления переменных и операторы CreateObject. Так как я на самом деле управляю таблицей Excel, а не просто запускаю команды Excel, мне нужно создать три переменные Excel и назначить им правильные типы из библиотеки объектов Microsoft Excel 10.0. Первое объявление переменной ссылается на тип Excel.Application, второе объявление указывает на тип Excel.Workbook (который основан на Excel.Application ), а третье объявление переменной ссылается на тип Excel.Worksheet (который основан на Excel.Workbook). Обратите внимание на эти важные объявления переменных и типов - они вам понадобятся при дальнейшей работе с Excel.

    Остальная часть процедуры события загружает значения в ячейки Excel. (Обратите внимание на разницу между тем, как вводятся числовые и строковые значения.) Затем в ячейку B3 вводится формула, которая использует функцию Sum для вычисления суммы ячеек B1 и B2, а результат форматируется жирным шрифтом. В этот момент процедура события отображает активный лист, и этот лист сохраняется на диск в папку c:\vbnet03sbs\Гл.13. (Если такой файл уже существует, появится диалоговое окно, спрашивающее, действительно ли вы хотите перезаписать файл.) После этого процедура события завершится, и приложение Excel остается открытым и видимым на экране, приглашая пользователя выполнить в Excel дополнительные задания. (Заметьте, что программа на Visual Basic также продолжает работать.) Программу также можно закрыть с помощью метода Quit, как это делалось в первом примере Excel Automation.

  8. Чтобы сохранить проект и его файлы на диск, щелкните на кнопке Save All (Сохранить все) на стандартной панели инструментов.
Сайдахмад Зарипов
Сайдахмад Зарипов
Жанболат Шаймерден
Жанболат Шаймерден

Можно ли выбирать язык для надписей и команд в среде разработки?

Виталий Григорьев
Виталий Григорьев
Россия, москва, мгсги, 2011
Надежда Серекпаева
Надежда Серекпаева
Россия, Тюмень, Тюменский индустриальный институт, 1992