Ошибка 91: как бороться?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
olik111
Обычный пользователь
Обычный пользователь
 
Сообщения: 57
Зарегистрирован: 03.07.2003 (Чт) 3:16

Ошибка 91: как бороться?

Сообщение olik111 » 15.02.2006 (Ср) 10:11

подскажите пожалуйста, как бороться с такой ошибкой: Run-time error '91': Object variable or With bloc variable not set

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 15.02.2006 (Ср) 10:25

Не стыдно? :roll:

Не обращаться к пустому месту. И не будет этой ошибки.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 15.02.2006 (Ср) 10:40

А ты переменную объявлять не пробовал? :lol:
Компилятор не может понять, к какой объектной переменной ты обращаешься...
А я все практикую лечение травами...

olik111
Обычный пользователь
Обычный пользователь
 
Сообщения: 57
Зарегистрирован: 03.07.2003 (Чт) 3:16

Сообщение olik111 » 15.02.2006 (Ср) 10:42

Да вроде не к пустому месту обращаюсь, а к конкретному :oops:
Первый раз все срабатывает нормально, а если нужно несколько документов сделать, то такой сбой вылазит

Юзайте форматирование кода, пожалуйста.
Спасибо.

Код: Выделить всё
Private Sub Command3_Click()
If Dir(iXLFileName) <> "" Then
  Set iXLApp = CreateObject("Excel.Application")

  With iXLApp
    .DisplayAlerts = False
    .Visible = True
    With .Workbooks.Open(FileName:=iXLFileName, UpdateLinks:=3)
      inumber = Label4.Caption
      With ActiveWorkbook
       
        'Ошибка тут
        .Sheets("1").Cells(1, 3) = Label20.Caption & "  " & Text15.Text & "  " & Label21.Caption & "  " & Text16.Text & "  " & Label22.Caption & "  " & Label24.Caption
        .Sheets("1").Cells(5, 4) = Label1.Caption
        .Sheets("1").Cells(5, 5) = inumber
       
        If dat = 1 Then         
          .Sheets("1").Cells(5, 5) = inumber
          iXLFileName = .Path & "\Наряд\Наряд_" & inumber & "_.xls"
          .SaveAs FileName:=iXLFileName, FileFormat:=xlNormal
          .Close
        End If
      End With
     
      .Quit
      .DisplayAlerts = True
     
      Unload Form1
      Set Form1 = Nothing
      Form1.Show
    End With

    Set iXLApp = Nothing
  End If

End sub

olik111
Обычный пользователь
Обычный пользователь
 
Сообщения: 57
Зарегистрирован: 03.07.2003 (Чт) 3:16

Сообщение olik111 » 15.02.2006 (Ср) 10:45

да вроде все переменные объявлены:
Dim iXLApp As Object
Dim iXLFileName As String
Dim i As Integer
Dim j As Integer
Dim locArr() As Variant
Dim dat As String

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 15.02.2006 (Ср) 10:48

With iXLApp.ActiveWorkbook
Lasciate ogni speranza, voi ch'entrate.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 15.02.2006 (Ср) 10:52

И если-таки поставить option explicit, этого больше не произойдёт...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 15.02.2006 (Ср) 10:54

Set iXLApp = CreateObject("Excel.Application")

With iXLApp

Не вижу объявления...
Ну и можешь попробовать Set iXLApp = NEW ...
А я все практикую лечение травами...

olik111
Обычный пользователь
Обычный пользователь
 
Сообщения: 57
Зарегистрирован: 03.07.2003 (Чт) 3:16

Сообщение olik111 » 15.02.2006 (Ср) 10:55

Спасибо большое :D

olik111
Обычный пользователь
Обычный пользователь
 
Сообщения: 57
Зарегистрирован: 03.07.2003 (Чт) 3:16

Сообщение olik111 » 15.02.2006 (Ср) 10:57

alibek :D


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 112

    TopList