2016-07-14 5 views
0

기본적으로 VBA (here) 에 대해 C#에서 사용자 정의 함수를 작성하는 방법을 알고 있습니다. 자동으로 활성화하기 위해 필요한 작업을 수행하는 설치 프로그램을 작성하고 싶습니다. 어떤 Excel 문서에서 my * .tlb를 참조하십시오. 는 I가 MyPj.tbl과 MyPj.dll (msbuild를 감사)를 생성 다음으로 : 레지스트리 항목 또는 설정에 관한 모든 정보는 도움이VBA Excel 용 C# UDF 설치 프로그램을 작성하는 방법

편집 될 것입니다. 엑셀 (도구> 참조 ...> 찾아보기)에서 내 프로젝트에 .tbl 생성 추가함으로써

[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! "; } } 
    } 

, 나는

포인트가 있다는 것입니다 엑셀 VBMacro

Sub Test() 
    Dim greeter as New MyPj.Greeting 
    MsgBox greeter.SayHelloWorld() 
End Sub 
에 MyPj.Greeting에 액세스 할 수 있습니다 나는 "Tools> References ...> Browse"를보고 싶지 않습니다. "SayHelloWorld"를 Excel에서 자동으로 사용할 수있는 설치 프로그램을 만들어야합니다.

+1

하여 XLL Excel에서 영구적으로에 대한 참조를 설정할 수 있습니다 포장하면이이 시점에서 나에게 조금 애매한 것 같다

. 당신이 이런 식으로 시도하고 있습니까? http://stackoverflow.com/questions/1651702/how-to-register-a-type-library-in-vba? 함께 작업하는 코드를 게시하십시오. –

답변

1

어떤 Excel 문서에 대해서도 유형 라이브러리를 자동 참조하는 것이 무엇을 의미하는지 모르겠습니다. 절대로 시도하지 않았으며 또한 사용자 지정 구성 요소를 자동 참조하는 것이 좋습니다.

Visual Studio를 사용하여 설치 프로그램을 만들 수 있지만 설치 프로그램을 다시 실행하려면 대부분 높은 권한이 필요합니다.

당신의 dll + tlbs를 .XLL로 모두 감쌀 수있는 놀라운 도구/프레임 워크 인 Excel-DNA를 살펴본 다음 통합 문서에서 XLL을 사용할 수 있습니다.

이를 참조하십시오 http://ashuvba.blogspot.com/2015/07/developing-registration-free-com-server.html 당신이 File--> Options ---> Add-ins