|
Обращение к полям пользовательского типа данных через переменную
|
|||
---|---|---|---|
#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&fpage=92&tid=2158331]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 130ms |
0 / 0 |