Можно ли ссылаться на COM-зарегистрированную DLL, а затем создавать объекты, требующие аргументов в конструкторе в коде VBA?VBA, импортирующий COM-зарегистрированную DLL и вызывающий конструктор с аргументами
Я успешно ссылаюсь на tlb в Access 2013 (64-разрядный), который был зарегистрирован regasm
, и мне удалось создать простой объект, который не нуждается в аргументах в конструкторе.
Из того, что я читал, это не так. Я теперь сталкиваюсь с крупным рефакторингом?
Вы конкретно * нужны * для управления объектами в VBA? Я спрашиваю, потому что TLB могут быть кошмаром, когда речь идет о версиях и обновлениях, и я лично избегаю их любой ценой при разработке надстроек Office. Вместо этого я создаю методы в .NET, доступные из вызовов VBA, и оставляю все манипуляции с объектами внутри .NET с помощью метода, чтобы делать все, что мне нужно. Это означает, что мне не нужно использовать regasm, но можно динамически вызывать методы, не набирая их. Пинг меня, если ты хочешь обсудить это дальше. – stuzor