Сообщество программистов Autodesk в СНГ

ADN Club => Inventor API => Тема начата: filat от 04-07-2016, 08:37:01

Название: Переразметка массива в VBA
Отправлено: filat от 04-07-2016, 08:37:01
Столкнулся с тем что в пределах кода VBA ружно изменить размер массива, но код:
Код - Visual Basic [Выбрать]
  1. ReDim Arr (100)
вызывает сообщение об ошибке. Вчем может быть причина?
Название: Re: Переразметка массива в VBA
Отправлено: mikazakov от 04-07-2016, 09:41:03
вызывает сообщение об ошибке
Филат а ты как массив то объявил? Поди сразу размер указал при декларации? Типа

Код - Visual Basic [Выбрать]
  1. Dim sngArray(10) As Single

?

Попробуй объявить его динамическим, типа:

Код - Visual Basic [Выбрать]
  1. Dim sngArray() As Single

Название: Re: Переразметка массива в VBA
Отправлено: filat от 04-07-2016, 10:53:53
Я указывал
Код - Visual Basic [Выбрать]
  1. Dim Arr(100) As Double
Попробуй объявить его динамическим, типа:

Код - Visual Basic [Выбрать]
  1. Dim sngArray() As Single


В таком варианте код выдает ошибку при попытке добавления нового элемента.
P.S. ошибка появляется при попытке записи по новому адресу через знак =
Название: Re: Переразметка массива в VBA
Отправлено: Алексей Кулик от 04-07-2016, 15:44:44
Насколько я помню, должно сработать нечто типа
Код - Visual Basic [Выбрать]
  1. Dim aSingle() As Single
  2. ' ...
  3. ReDim aSingle (100)
  4. ' ...
  5. ReDim Preserve aSingle(200)