Проблема с определением объектов. Взял текст процедуры с форума. Private Sub Кнопка8_Click() Dim xlApp As Object 'Excel.Application Dim xlBook As Workbook Dim xlSheet As Worksheet Set xlApp = CreateObject("Excel.Application") 'Создаем новую книгу Set xlBook = xlApp.Workbooks.Add Dim aryData(1 To 100, 1 To 3) As Variant 'Создаем массив из 3 колонок и 100 строк Dim intCount As Integer For intCount = 1 To 100 aryData(intCount, 1) = "ORD" & Format(r, "0000") aryData(intCount, 2) = Rnd() * 1000 aryData(intCount, 3) = aryData(intCount, 2) * 0.7 Next 'Добавляем заголовки в первую строку 1 Set xlSheet = xlBook.Worksheets(1) xlSheet.Range(xlSheet.Cells(1, 1), xlSheet.Cells(1, 3)).Value = Array("Order ID", "Amount", "Tax") 'Передаем массив в Excel, используя ячейку A2 xlSheet.Range("A2").Resize(100, 3).Value = aryData xlBook.SaveAs "C:\Ипотека\ArrayDump.xls" 'Запоминаем книгу и выходим из Excel xlApp.Quit Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing End Sub Access пишет, что объект не определен. Ошибка происходит на строчке Set xlBook = xlApp.Workbooks.Add Access 2003 SP2, подключены библиотеки Visual Basic for Applications, Microsoft Access 11.0 Object Library, OLE Automation, Microsoft DAO 3.6 Object Library, Microsoft ActiveX Data Objects 2.1 Library, Microsoft Excel 11.0 Object Library, Microsoft Object 11.0 Object Library.
Может кто уже сталкивался с подобной проблемой? Помогите понять в чем дело.
1. Нужно в отладчике VBA проверить переменную xlApp. Если Nothing, то ссылка на библиотеку не работает. Возможно ее блокирует антивирус или OS Vista.
2. Вообще лучше использовать не CreateObject для создания объекта, а ключевое слово New, тогда компилятор будет проверять ссылки в момент компиляции, а не вовремя запуска программы.