Я надеялся избежать необходимости чтобы зарегистрировать dll, а лучше использовать оператор Declare Function в коде VBA, но, по-видимому, это невозможно, и мои исследования указали мне на необходимость сделать библиотеку классов COM-видимой, затем зарегистрировать ее и добавить в качестве ссылка на проект VBA. Кажется, что в более ранних версиях Visual Studio это был вопрос щелчка по полю в диалоговом окне свойств проекта, но я не вижу этого поля в VS2022?!
Это шаги, которые я предпринял с «игрушечным» примером, и проблемы, с которыми я столкнулся.
(1) Я создал следующую .dll с классом Calculate и простым методом Add два целых числа. Поскольку мы используем 32-битный Excel, я настроил его на x86.
Код: Выделить всё
namespace ClassLibraryCalculator
{
public class Calculate
{
public int Add(int a,int b){ return a + b; }
}
}
regsvr32 «ClassLibraryCalculator.dll», но обнаружил ошибку «..был загружен, но запись- точка DllRegisterServer не найдена"
По результатам поиска можно сказать, что решением этой проблемы является изменение свойств проекта, это было (в более ранних версиях VS?) диалоговое окно

с флажком, но я вижу ничего связанного с COM в свойствах проекта Visual Studio 2022.
Подробнее здесь: https://stackoverflow.com/questions/749 ... tudio-2022
Мобильная версия