Здравствуйте, Hard_Club, Вы писали:
H_C>Как сделать, чтобы Item в коллекции адресовались не Col.Item("ItemName"), a Col("ItemName")
Для этого нужно присвоить свойству или методу Item специальный номер (ID), равный 0 или DISPID_VALUE — для MIDL, (Default) — для VB6 в Tools->Procedure Attributes.
Vi2>Для этого нужно присвоить свойству или методу Item специальный номер (ID), равный 0 или DISPID_VALUE — для MIDL, (Default) — для VB6 в Tools->Procedure Attributes.
Здравствуйте, Hard_Club, Вы писали:
H_C>А как это сделать для VBA Ms Access?
Наверное, никак, если только такая работа с IDами не запрятана где-то. По крайней мере, можно сгенерить библиотеку типов (вне VBA) и подсунуть ее и интерфейс в класс через Implements.
Здравствуйте, Hard_Club, Вы писали:
Vi2>>Для этого нужно присвоить свойству или методу Item специальный номер (ID), равный 0 или DISPID_VALUE — для MIDL, (Default) — для VB6 в Tools->Procedure Attributes.
H_C>А как это сделать для VBA Ms Access?
В редакторе VBA зарезана возможность выставить атрибут свойству или методу, но при этом и среда, и компилятор их понимают при импорте модуля (класса). Если есть VB5/6, то проще всего выставить нужный атрибут в его редакторе, сохранить файл, импортировать в VBA. Если нет, то можно в VBA экспортировать модуль, отредактировать его в любом текстовом редакторе, и импортировать обратно. Правка простая: если есть, например, описание метода Public Function Item(Index) As Object, то после этой строки надо вставить строку
Attribute Item.VB_UserMemId = 0
Проверить результат после импорта можно в Object Browser (F2): в иконке метода появиться голубой кружок, означающий "по умолчанию".
Б>В редакторе VBA зарезана возможность выставить атрибут свойству или методу, но при этом и среда, и компилятор их понимают при импорте модуля (класса). Если есть VB5/6, то проще всего выставить нужный атрибут в его редакторе, сохранить файл, импортировать в VBA. Если нет, то можно в VBA экспортировать модуль, отредактировать его в любом текстовом редакторе, и импортировать обратно. Правка простая: если есть, например, описание метода Public Function Item(Index) As Object, то после этой строки надо вставить строку Б>
Attribute Item.VB_UserMemId = 0
Проверить результат после импорта можно в Object Browser (F2): в иконке метода появиться голубой кружок, означающий "по умолчанию".