В принципе, я знаю, как писать пользовательские функции в C# для VBA (here) Я хотел бы написать установщик, который сделает все необходимое для автоматической активации и ссылайтесь на мой * .tlb в любом документе excel. Любая информация о записи реестра или настройки будут полезныКак написать установщик для C# UDF для VBA Excel
Edit: со следующими сгенерировать MyPj.tbl и MyPj.dll (благодаря MSBuild).
[InterfaceType(ComInterfaceType.InterfaceIsDual)]
[Guid("afb62cb2-dfa8-4f0f-980b-25f96ad93b92")]
public interface IGreeting
{
string SayHelloWorld { get; }
}
[ClassInterface(ClassInterfaceType.AutoDual)]
[Guid("8cd91f78-4e62-4a12-95e0-df82699d4d75")]
[ProgId("TestDll.Test")]
public class Greeting : IGreeting
{
public string SayHelloWorld { get { return "Hello, World! "; } }
}
Добавляя генерируемый .tbl к моему проекту в Excel (Tools> Список использованной литературы ...> Обзор), я могу получить доступ MyPj.Greeting в Excel VBMacro
Sub Test()
Dim greeter as New MyPj.Greeting
MsgBox greeter.SayHelloWorld()
End Sub
Дело в том, что Я не хочу проходить «Инструменты> Ссылки ...> Обзор». Мне нужно сделать установщик, который автоматически сделает «SayHelloWorld» доступным в Excel
Это кажется немного расплывчатым для меня на данный момент. Вы пытаетесь что-то вроде этого http://stackoverflow.com/questions/1651702/how-to-register-a-type-library-in-vba? Отправьте код, с которым работаете. –