Какие декларации я должен сделать, чтобы иметь возможность использовать объекты и константы Excel из моего Access 2007 VBA script?
Dim wb As Workbook
или
Set objExcelApp = New Excel.Application
или
.Borders(xlEdgeBottom)
Спасибо
Какие декларации я должен сделать, чтобы иметь возможность использовать объекты и константы Excel из моего Access 2007 VBA script?
Dim wb As Workbook
или
Set objExcelApp = New Excel.Application
или
.Borders(xlEdgeBottom)
Спасибо
Сначала вам нужно установить ссылку (Меню: Инструменты- > Ссылки) в библиотеку объектов Microsoft Excel, затем вы можете получить доступ ко всем объектам Excel.
После того, как вы добавили ссылку, у вас есть полный доступ ко всем объектам Excel. Вам нужно добавить Excel перед всем, например:
Dim xlApp as Excel.Application
Предположим, вы добавили объект вашей книги Excel в свою форму и назвали его xLObject.
Вот как вы получаете доступ к листу этого объекта и изменяете диапазон
Dim sheet As Excel.Worksheet
Set sheet = xlObject.Object.Sheets(1)
sheet.Range("A1") = "Hello World"
(Я скопировал это из моего ответа на этот вопрос)
Другой способ использования Excel в Access - запустить Excel через модуль доступа (способ, которым shahkalpesh описал это в своем ответе)
Я отказываюсь от обоих ответов. Не создавайте ссылку вообще, но используйте последнее связывание:
Dim objExcelApp As Object
Dim wb As Object
Sub Initialize()
Set objExcelApp = CreateObject("Excel.Application")
End Sub
Sub ProcessDataWorkbook()
Set wb = objExcelApp.Workbooks.Open("path to my workbook")
Dim ws As Object
Set ws = wb.Sheets(1)
ws.Cells(1, 1).Value = "Hello"
ws.Cells(1, 2).Value = "World"
'Close the workbook
wb.Close
Set wb = Nothing
End Sub
Вы заметите, что единственная разница в приведенном выше коде состоит в том, что все переменные объявлены как объекты, и вы создаете экземпляр Excel с помощью CreateObject().
Этот код будет работать независимо от того, какая версия Excel установлена, а использование ссылки может привести к поломке вашего кода, если установлена другая версия Excel, или если она установлена в другом месте.
Кроме того, обработка ошибок может быть добавлена в код выше, так что если первоначальное создание экземпляра Excel завершится неудачно (скажем, потому что Excel не установлен или не зарегистрирован должным образом), ваш код может быть продолжен. С помощью набора ссылок ваше приложение Access будет работать, если Excel не установлен.
Внутри модуля
Option Explicit
dim objExcelApp as Excel.Application
dim wb as Excel.Workbook
sub Initialize()
set objExcelApp = new Excel.Application
end sub
sub ProcessDataWorkbook()
dim ws as Worksheet
set wb = objExcelApp.Workbooks.Open("path to my workbook")
set ws = wb.Sheets(1)
ws.Cells(1,1).Value = "Hello"
ws.Cells(1,2).Value = "World"
'Close the workbook
wb.Close
set wb = Nothing
end sub
sub Release()
set objExcelApp = Nothing
end sub