2016-02-09 6 views
0

У меня есть следующий кодVisual Basic: определить размер массива после spliting

Sub Test() 

Dim path As String 
Dim pathSize As Integer 

path = "1,45,6,131,13,71,35,141" 
pathSize = Split(path, ",").Length 

MsgBox (CStr(pathSize)) 

End Sub 

я намеревался определить размер пути, разделив его с разделителем «» на массив, содержащий 1, 45, 6 , 131, 13, 71, 35 и 141 и измеряя размер массива. Однако, когда я запускаю этот код, я получаю сообщение об ошибке на линии

pathSize = Split(path, ",").Length 

с ошибкой «Требуемый объект». Что я здесь делаю неправильно?

ответ

2

Попробуйте

pathSize = Ubound(Split(path, ","))+1 
+0

До сих пор не знаю, почему мой подход не будет работать, но ваше решение дал мне то, что мне нужно было получить. Спасибо. – dylee

+0

@dylee свойство '.Length' применяется только к вещам типа объектов коллекции, это не является допустимым свойством типа массива. –

+0

@ dylee убедитесь, что вы не читаете фрагменты vb.net и думаете, что они применяются к vba. .Length будет работать как расширение для большинства перечислимых объектов в .net, но vba не имеет расширений класса. –

Смежные вопросы