Вызов макросов Microsoft Excel, которые принимают параметры
Аннотация
С помощью службы автоматизации можно управлять Microsoft Excel. Можно вызывать процедуры макросов, хранящиеся в книгах Microsoft Excel, с помощью метода Run объекта приложения Microsoft Excel. Макрокоманды Microsoft Excel, которые принимают параметры, приводят к незначительному изменению синтаксиса. Ниже приведен пример кода, демонстрирующий вызов макрокоманды Microsoft Excel из Visual Basic.
Дополнительная информация
Пошаговый пример
Запустите новый проект в Visual Basic. Form1 создается по умолчанию.
Поместите CommandButton в Form1.
В разделе "Общие объявления" формы Form1 введите следующий код:
Option Explicit Private Sub Command1_Click() Dim oExcelApp As Object ' Create a reference to the currently running excel application Set oExcelApp = GetObject(, "Excel.application") ' Make the Excel Application Visible. oExcelApp.Visible = True ' Run the excel procedure oExcelApp.run "proc", "David", 30 End Sub
Запустите Microsoft Excel. Book1 создается по умолчанию.
Добавьте новый модуль в книгу.
Для Excel 5.0 и 7.0: в меню "Вставка" выберите макрос и выберите параметр модуля. Откроется новый лист модуля Module1.
Для Excel 97 и более поздних версий нажмите клавиши ALT+F11, чтобы запустить редактор Visual Basic. Щелкните "Модуль" в меню "Вставка".
В module1 введите следующий код:
Sub Proc(sParam1 As String, iParam2 As Integer) MsgBox sParam1 & " is " & iParam2 & " Years Old" End Sub
Оставьте книгу открытой в Microsoft Excel и перейдите к проекту в Visual Basic.
В Visual Basic нажмите клавишу F5, чтобы запустить проект. Нажмите кнопку команды, и появится диалоговое окно с текстом "David is 30 years old" (Дэвиду 30 лет).
Ссылки
Дополнительные сведения об использовании Visual Basic для автоматизации Excel см. в следующих статьях:
219151 Автоматизация Microsoft Excel из Visual Basic