Як записати дані в 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.Workbook
    Dim 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.Save
    oApplication.Quit
      
  6. Збережіть і виконайте скрипт. У редакторі Visual Basic натисніть Ctrl + S, а потім помістіть курсор в тіло процедури та натисніть F5. Сценарій vbs збережіть на диск, а потім запустіть як звичайний файл.