Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Объекты в массиве Добавлено: 23.10.09 08:21  

Автор вопроса:  Dropper
Есть массив. Он частично заполнен объектами? Например:

set arr(1,2)=mydoc.item(1)
set arr(1,6)=mydoc.item(1)


как узнать какая ячейка содержит объект, а какая нет?

if arr(1,2)=empty

Вываливает ошибку.
подскажите пожалуйста.

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #1 Добавлено: 23.10.09 10:38
IsEmpty, IsNull

Ответить

Номер ответа: 2
Автор ответа:
 AngryBadger



Вопросов: 33
Ответов: 245
 Профиль | | #2 Добавлено: 23.10.09 10:50
Я бы сделал так

  1. Sub TestOfArray()
  2.     Dim myarr(1, 6) As MSForms.CommandButton
  3.     
  4.     Set myarr(1, 2) = Sheets(1).CommandButton1
  5.     Set myarr(1, 6) = Sheets(1).CommandButton2
  6.     
  7.     If myarr(1, 6) Is Nothing Then
  8.         Debug.Print "Nothing"
  9.     Else
  10.         Debug.Print myarr(1, 6).Name
  11.     End If
  12. End Sub

Ответить

Номер ответа: 3
Автор ответа:
 Dropper



Вопросов: 11
Ответов: 19
 Профиль | | #3 Добавлено: 23.10.09 11:30
AngryBadger
Is Nothing я пробовал. Там где Locals показывал Empty, там вылетала ошибка. Короче при наличии объекта Empty вызывал ошибку, а при отсутствии её вызывал Is Nothing.

AndreyMp
Спасибо. Я рядом с этими "IsEmpty, IsNull" еще и "IsObject" увидел. Теперь работает без ошибок.
(хотя странные какие-то функции, неполноценные что-ли. IsObject дает true даже если объект пустой, но в массиве работает как надо)

Ответить

Номер ответа: 4
Автор ответа:
 GDK



Вопросов: 13
Ответов: 348
 Профиль | | #4 Добавлено: 26.10.09 16:24
А ещё есть On Error Resume Next & On Error Goto 0

Ответить

Номер ответа: 5
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #5 Добавлено: 26.10.09 16:30
On Error Resume Next
Вот этого вот советовать не надо. Это уж в ооочень крайнем случае.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам