Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
VBA Обращение к элементу Type по порядковому номеру
 
Уважаемые форумчане!
Подскажите, пожалуйста, есть ли в VBA возможность обратиться к элементу пользовательского типа данных Type по его порядковому номеру в описании Type?
Например, в следующем коде
Код
Enum EMyType
    element1 = 1
    element2 = 2
    element3 = 3
End Enum

Type TMyType
    element1 As String
    element2 As String
    element3 As String
End Type

Dim mytype As TMyType
мне хочется избавиться от Enum и обрашаться к element2 не только как mytype.element2, но и как, допустим, mytype(1).
Нужно мне это из-за того, что каждый элемент связан с определнным столбцом таблицы, и нет желания создавать два по сути одинаковых объекта Type и Enum для реализации программы. Если же порядок столбцов изменится, то мне придется менять и Type, и Enum, что, конечно, не сложно, но хочется максимальной простоты.
Изменено: do_foo - 3 Ноя 2019 12:48:21
 
если Вам хочется, а синтаксисом языка не предусмотрено, - нужно отказаться от желания и следовать синтаксису языка
Цитата
do_foo написал:
Если же порядок столбцов изменится
все переменчиво в этом мире, стабилен только универсальный код, к которому не нужно возвращаться чтобы переписывать его
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал: если Вам хочется, а синтаксисом языка не предусмотрено, - нужно отказаться от желания и следовать синтаксису языка
Я готов отказаться от желания, но мой вопрос сформулирован как "возможно ли", поскольку я могу упускать какие-либо возможности языка из-за несовершенности моего знания VBA.

Цитата
Ігор Гончаренко написал:  переменчиво в этом мире, стабилен только универсальный код, к которому не нужно возвращаться чтобы переписывать его
К универсальному коду я не стремлюсь, но стремлюсь к наиболее простому и понятному для редактирования.
 
Пользовательские типы не часто применяются в VBA. Для примера в #1 более естественно использовать массив (Array)


Код
Dim MyArray(2) as String
Владимир
Страницы: 1
Читают тему (гостей: 2)
Наверх