Автоматизация приложений Microsoft Office и управление процессами
Запуск программы Excel Automation
-
Щелкните на кнопке Start (Начать) стандартной панели инструментов. Появится калькулятор выплат по закладной.
Примечание. Готовая программа Excel Automation лежит в папке c:\vbnet03sbs\Гл.13\excel automation. - Введите в текстовое поле Проценты число 0.09.
- Введите в текстовое поле Месяцы число 360.
-
Введите в текстовое поле Основной долг число 150000. Ваша форма долж-на выглядеть примерно так.
-
Щелкните на кнопке Вычислить. Для вычисления выплат по закладной на сумму $150000 при 9 процентной ставке за 360 месяцев (30 лет) программа использует Excel. Как видно из следующей иллюстрации, результат в окне сообщения равен $1206.93. (Помните, что если это выплаты по займу на покупку дома, то это количество представляет только сумму и процентную ставку - в нее не включены налоги, страховка и другие обычные составляющие!)
- Щелкните на кнопке OK окна сообщения, а затем произведите еще несколько вычислений для различных значений.
- Когда закончите, щелкните на кнопке Закрыть строки заголовка формы.
Теперь попробуем выполнить упражнение Excel Automation, которое использует множество функций для работы с отображаемой книгой Excel.
Работа с книгами Excel
- Щелкните на команде Close Solution (Закрыть решение) в меню File (Файл), а затем создайте в папке c:\vbnet03sbs\Гл.13 новый проект с именем My Excel Sheet Tasks. В этом упражнении используются команды Excel Automation, которые вставляют в ячейки листа числа и метки, применяют форматирование символов, вставляют функцию Sum и сохраняют книгу на диск. Используя эти базовые навыки, вы можете генерировать сложные книги Excel непосредственно из ваших приложений на Visual Basic.
- В меню Project (Проект) щелкните на команде Add Reference (Добавить ссылку). Появится диалоговое окно Add Reference (Добавить ссылку).
- Щелкните на закладке COM, затем в списке компонент на Microsoft Excel 10.0 Object Library, далее на кнопке Select и на OK. Если вы видите диалоговое окно первичной сборки взаимодействия, щелкните на Yes (Да).
- Используя элемент управления Button, добавьте в форму большую кнопку.
- Используя окно Properties (Свойства), установите свойство Text объекта кнопки на значение Создать рабочий лист, а затем свойство Text формы на значение Создание рабочих листов Excel. Это единственные свойства, которые вы установите для этой демонстрационной программы - большая часть работы будет выполнена в Microsoft Excel.
- Чтобы открыть в Редакторе кода процедуру события Button1_Click, сделайте двойной щелчок мышью на кнопке Создать рабочий лист.
-
Введите следующие операторы программы:
'Объявляем объектные переменные 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.
- Чтобы сохранить проект и его файлы на диск, щелкните на кнопке Save All (Сохранить все) на стандартной панели инструментов.