|
|
|
Обращение к полям пользовательского типа данных через переменную
|
|||
|---|---|---|---|
|
#18+
В модуле Excel задан пользовательский тип данных и объявлен массив данного типа. Type MyType MyDate As Date MyQty As Long MyName As String End Type Public TestRec (1 to 10) as MyType Обращение к полю (например, MyQty) элемента такого массива выглядит как: TestRec(i).MyQty=100 Вопрос: Каким образом возможно обратиться к произвольному полю такого массива используя переменную, содержащую имя поля. В примере ниже выдает ошибку на последней строке - Method or data member not found. Dim FieldName As String FieldName="MyQty" TestRec(i).FieldName=100 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2011, 12:56 |
|
||
|
Обращение к полям пользовательского типа данных через переменную
|
|||
|---|---|---|---|
|
#18+
сделайте свой класс с нужными вам свойствами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2011, 12:59 |
|
||
|
Обращение к полям пользовательского типа данных через переменную
|
|||
|---|---|---|---|
|
#18+
Konst_Oneсделайте свой класс с нужными вам свойствами Спасибо за совет. С этим вопросом пока детально не знаком, буду разбираться. А помимо использования класса, возможно ли иное решение, м.б. с применением функции CallByName? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2011, 13:32 |
|
||
|
Обращение к полям пользовательского типа данных через переменную
|
|||
|---|---|---|---|
|
#18+
Совет был наилучшим. Иные решения породят кучу кода в основном проекте, а зачем? Самое логичное - засунуть весь этот код в черный ящик - класс. Один раз отладить класс и пользоваться им. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2011, 13:34 |
|
||
|
Обращение к полям пользовательского типа данных через переменную
|
|||
|---|---|---|---|
|
#18+
SnowblastА помимо использования класса, возможно ли иное решение, м.б. с применением функции CallByName?CallByName как раз и обеспечивает вызов по имени public метода или свойства объекта (экземпляра класса). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2011, 14:58 |
|
||
|
Обращение к полям пользовательского типа данных через переменную
|
|||
|---|---|---|---|
|
#18+
13-й кварталSnowblastА помимо использования класса, возможно ли иное решение, м.б. с применением функции CallByName?CallByName как раз и обеспечивает вызов по имени public метода или свойства объекта (экземпляра класса). А не сможете подсказать правильный синтаксис для CallByName применительно к моей ситуации? Все мои попытки, к сожалению, оказались неудачны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2011, 15:29 |
|
||
|
Обращение к полям пользовательского типа данных через переменную
|
|||
|---|---|---|---|
|
#18+
CallByName применим к объектам и не применим к пользовательским типам. Поэтому либо разбираться с классами либо отказаться от вызова полей по имени. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2011, 15:47 |
|
||
|
Обращение к полям пользовательского типа данных через переменную
|
|||
|---|---|---|---|
|
#18+
Snowblast, Модуль класса MyType: Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2011, 15:51 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=37506663&tid=2158331]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 387ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...