Как я могу использовать свой проект C# в Excel (VBA), когда он находится в исполняемой форме?Добавить .NET EXE в качестве ссылки VBA (в Excel) для COM Interop
В Visual Studio, если я перейду к моим настройкам проекта и измените «Тип вывода» на «Библиотека классов», то я могу успешно добавить ссылку на мой проект в Excel VBA (просмотрев DLL в ссылках раздел).
Однако, когда мой «Выходной» установлен в «Windows Application», если я пытаюсь добавить ссылку (в пределах Excel VBA) для вновь созданного файла EXE, я получаю следующее сообщение об ошибке:
Can't add a reference to the specified file
Как я могу ссылаться на свой .NET EXE в Excel VBA?
(Моя цель с помощью ехе, а не DLL так, что мое приложение может использоваться как в качестве приложения Windows и как COM-объект)
Спасибо за ваш ответ. Я не уверен, что [этот парень прав) (http://stackoverflow.com/questions/7054481/how-to-produce-a-mix-of-dll-and-exe-in-one-c-sharp -project-in-visual-studio-or-o/7055824 # 7055824), но он утверждает, что вы можете ссылаться на исполняемый файл .Net, как если бы это была dll, в любом случае, я бы предпочел не разворачивать 2 отдельных элемента, если это возможно. Было бы намного чище, если бы я мог просто отправить один экземпляр. – user966893
Вы ** можете ** добавить любую сборку .NET ** ** в качестве ссылки в любом другом проекте **. NET **, это правда. .NET не волнует, является ли это сборкой с расширением .exe или .dll или .blurb, если это сборка .NET. Но это нечто существенно отличное от использования .NET DLL в Excel VBA! –
Получил это. Я, кажется, помню, что VBA мог ссылаться на VB6 EXE, но, возможно, что-то подобное невозможно с .NET <=> VBA-связью. Фактически есть опция в ** Сведения о сборке ** свойств проекта .NET, которая позволяет вам установить «Сделать сборку COM-Visible». Этот параметр также включен для приложений Windows, но, возможно, он применим только к DLL. – user966893