Як записати дані в Excel з vba.

Все офісні додатки від Microsoft підтримують автоматизацію. Вони можуть запускатися як сервери COM і використовуватися з впроваджених в документи або зовнішніх сценаріїв. Так, можна записати дані в Excel-документ з vba-скрипта.
Вам знадобиться
  • - встановлений додаток Microsoft Excel;
  • - редактор Visual Basic/текстовий редактор.
Інструкція
1
Створіть контейнер для розміщення vba-коду. Якщо скрипт повинен бути впроваджений в документ, завантажте відповідний файл в Microsoft Excel. Відкрийте редактор Visual Basic, натиснувши клавіші Alt + F11. Якщо необхідно, створіть новий модуль (пункт Module в меню Insert). Відкрийте один з модулів або форм. Створіть обробник елементу управління форми або просто додайте процедуру в модуль. Наприклад: Sub test () End SubЕслі розробляється самостійний скрипт (тобто він буде працювати під управлінням Windows Script Host), то просто створіть файл з розширенням vbs в текстовому редакторі.
2
Під впроваджений в документ скрипт додайте оголошення змінних в початок процедури: Dim oWorkbook As Excel.WorkbookDim oSheet As Excel.WorksheetПервая з них призначена для зберігання посилання на об'єкт книги Excel, а друга - на лист.
3
Ініціалізуйте змінні посиланнями на об'єкти. У vbs-скрипті створіть об'єкт докладання Excel (при цьому Excel буде запущений як COM-сервер): Set oApplication = CreateObject ("Excel.Application"). Під запровадженому в документ сценарії замість змінної oApplication буде використовуватися глобальний об'єкт Application, який посилається на поточний об'єкт додатки. Виберіть існуючу або відкрийте нову книгу Excel. Наприклад: Set oWorkbook = Application.Workbooks (1) Set oWorkbook = Application.Workbooks ("Книга1") Set oWorkbook = oApplication.Workbooks.Open ("D: \ vic \ relevant \ tmp \ test.xls") Отримайте посилання на потрібний лист книги: Set oSheet = oApplication.Sheets ("Лист1")
4
Запишіть дані в Excel з vba-сценарію. Використовуйте колекцію Cells, яка є властивістю об'єкта аркуша книги, посилання на який була отримана на попередньому кроці, в змінну oSheet. Приклад запису рядка в одну клітинку може виглядати так: oSheet.Cells (1, 1)="Рядок запишеться в клітинку A1"
5
В vbs-скрипті додайте код для збереження даних і завершення роботи програми Excel: oWorkbook.SaveoApplication.Quit
6
Збережіть і виконайте скрипт. У редакторі Visual Basic натисніть Ctrl + S, а потім помістіть курсор в тіло процедури і натисніть F5. Сценарій vbs збережіть на диск, а потім запустіть як звичайний файл.