Вам понадобится
- - установленное приложение Microsoft Excel;
- - редактор Visual Basic / текстовый редактор.
Инструкция
1
Создайте контейнер для размещения vba-кода. Если скрипт должен быть внедрен в документ, загрузите соответствующий файл в Microsoft Excel. Откройте редактор Visual Basic, нажав клавиши Alt+F11. Если необходимо, создайте новый модуль (пункт Module в меню Insert). Откройте один из модулей или форм. Создайте обработчик элемента управления формы или просто добавьте процедуру в модуль. Например:
Sub test()
End Sub
Если разрабатывается самостоятельный скрипт (то есть он будет работать под управлением Windows Script Host), то просто создайте файл с расширением vbs в текстовом редакторе.
Sub test()
End Sub
Если разрабатывается самостоятельный скрипт (то есть он будет работать под управлением Windows Script Host), то просто создайте файл с расширением vbs в текстовом редакторе.
2
Во внедренный в документ скрипт добавьте объявления переменных в начало процедуры:
Dim oWorkbook As Excel.Workbook
Dim oSheet As Excel.Worksheet
Первая из них предназначена для хранения ссылки на объект книги Excel, а вторая - на лист.
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")
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"
oSheet.Cells(1, 1) = "Строка запишется в ячейку A1"
5
В vbs-скрипте добавьте код для сохранения данных и завершения работы приложения Excel:
oWorkbook.Save
oApplication.Quit
oWorkbook.Save
oApplication.Quit
6
Сохраните и выполните скрипт. В редакторе Visual Basic нажмите Ctrl+S, а затем поместите курсор в тело процедуры и нажмите F5. Сценарий vbs сохраните на диск, а затем запустите как обычный файл.