Я поддерживаю приложение, написанное на Visual Basic 6.0 и использующее несколько элементов управления OLE с объектами класса Excel.Sheet.8
. Несколько пользователей получают следующую ошибку, когда достигают точки в коде, которая пытается манипулировать объектами Excel.
Ошибка времени выполнения '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.