2016-07-14 8 views
0

В принципе, я знаю, как писать пользовательские функции в 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

+1

Это кажется немного расплывчатым для меня на данный момент. Вы пытаетесь что-то вроде этого http://stackoverflow.com/questions/1651702/how-to-register-a-type-library-in-vba? Отправьте код, с которым работаете. –

ответ

1

Я не уверен, что вы подразумеваете под автоматической ссылкой на библиотеку типов на любой документ excel. Никогда не пробовал это, а также не думал, что это хорошая идея для автоматической настройки пользовательских компонентов.

Вы можете использовать Visual Studio для создания Installer, но вновь запущенные установщики в основном требуют повышенных привилегий.

Посмотрите на Excel-DNA, его удивительный инструмент/фреймворк, который позволяет вам обернуть все ваши dlls + tlbs только в .XLL, тогда вы можете использовать этот XLL в любой из ваших книг.

Смотреть это: http://ashuvba.blogspot.com/2015/07/developing-registration-free-com-server.html

После того, как вы упаковали Xll вы можете установить ссылку на этот постоянно в Excel с помощью File--> Options ---> Add-ins

 Смежные вопросы

  • Нет связанных вопросов^_^