Я поддерживаю приложение, написанное на Visual Basic 6.0, и использует несколько элементов управления OLE с объектами класса Excel.Sheet.8
. Некоторые пользователи получают следующую ошибку, когда они достигают точки в коде, которая пытается манипулировать объектами excel.Обработка объектов OLE Excel вызывает ошибку времени выполнения '91'
Ошибка выполнения «91»: переменная объекта или переменная блока не установлен
Ниже приведены примеры кода, которые вызывают эту ошибку. Я считаю, что проблема происходит на:
Set oExcel = oleXl.object
Вот точки в коде, где это происходит:
Private Sub Form_Load()
Dim i As Integer
Dim j As Integer
Dim sTempStringA As String
Dim sTempStringB As String
'Set up excel sheet
centerform Me
Set oOutGrid = oleXlOutput.object
...
Private Sub Form_Load()
centerform Me
Set oOtherFx = oleXlFx.object
...
Private Sub Form_Load()
Dim iRet As Integer
Dim i As Integer
On Error GoTo Err_Handler
centerform Me
Call InitArray
Me.Caption = "TJUJ | Version " & version & " | Enter Custom Fx"
Set oBook = oleExcel.object
...
Есть ли конкретная ситуация или среда, в которой эта ошибка будет генерироваться из этой линии кода ИЛИ способ, которым я могу обеспечить, чтобы объект всегда был доступен в этой точке кода?
Ошибка возникает только иногда, и я не могу воспроизвести ее на моей машине для разработчиков вообще. У меня также нет доступа к машинам, на которых это происходит, но похоже, что они встречаются, когда есть экземпляр процесса EXCEL.EXE.
как вы создаете объекты Excel OLE? – Ant 2008-12-12 11:54:03