기본적으로 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에서 자동으로 사용할 수있는 설치 프로그램을 만들어야합니다.
하여 XLL Excel에서 영구적으로에 대한 참조를 설정할 수 있습니다 포장하면이이 시점에서 나에게 조금 애매한 것 같다
. 당신이 이런 식으로 시도하고 있습니까? http://stackoverflow.com/questions/1651702/how-to-register-a-type-library-in-vba? 함께 작업하는 코드를 게시하십시오. –