Dim arr() as String
len(arr(0))>0
Konst_One писал(а):то тогда обращайся к любому элементу и по ошибке смотри
On Error Resume Next
Konst_One писал(а):если только объявлен как
- Код: Выделить всё
Dim arr() as String
то тогда обращайся к любому элементу и по ошибке смотри.
vbStr писал(а):Часто появляется такая проблема. Необходимо обработать массив (напр., его напечатать), но заполнен он или нет, неизвестно. Как выяснить: заполнен ли массив или нет? Функции типа Is*** не помогли.
Public Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" _
(Destination As Any, Source As Any, ByVal Length As Long)
Public Function UboundArray(ArrayName As Variant, Optional Dimension As Integer = 1) As Long
If Dimension < 1 Or Dimension > GetArrayDimensions(ArrayName) Then
UboundArray = -1
Else
UboundArray = UBound(ArrayName, Dimension)
End If
End Function
Public Function GetArrayDimensions(arr As Variant) As Integer
Dim a As Long
CopyMemory a, ByVal VarPtr(arr) + 8, 4
CopyMemory a, ByVal a, 4
If a Then CopyMemory GetArrayDimensions, ByVal a, 2
End Function
Сейчас этот форум просматривают: Bing-бот и гости: 84