source

vba에서 xll addin 함수를 어떻게 호출합니까?

factcode 2023. 6. 8. 22:38
반응형

vba에서 xll addin 함수를 어떻게 호출합니까?

나만의 커스텀 vba 기능으로 포장하고 싶은 타사 XLL 애드인이 있습니다.코드에서 타사 함수를 어떻게 호출합니까?

편집: 두 가지 이상의 방법이 있습니다.


옵션 1: Application.Run(...)

인수가 XLL 함수로 전송되기 전에 적절한 유형으로 자동 변환되기 때문에 이것이 가장 좋은 방법인 것 같습니다.

Public Function myVBAFunction(A as Integer, B as String, C as Double)
    myVBAFunction = Application.Run("XLLFunction", A, B, C)
End Sub

자세한 내용은 이 페이지를 참조하십시오.


옵션 2: Application.ExecuteExcel4Macro(...)

이 방법을 사용하면 XLL 함수에 인수를 전달하기 전에 인수를 문자열 형식으로 변환해야 합니다.

Public Function myVBAFunction(A as Integer, B as String, C as Double)
    dim macroCall as String
    macroCall = "XLLFunction(" & A
    macroCall = macroCall & "," & Chr(34) & B & Chr(34)
    macroCall = macroCall & "," & C
    macroCall = macroCall & ")"
    myVBAFunction = Application.ExecuteExcel4Macro(macroCall)
End Sub

자세한 내용은 이 페이지를 참조하십시오.

답변이 너무 늦었다는 것을 알지만, 저는 이 대안적인 방법을 발견했고 공유할 가치가 있다고 생각합니다.타사 기능은 Win32 통화와 동일한 방식으로 선언할 수 있습니다.이렇게 하면 코딩할 때 Intelli sense 완료에 표시되는 추가적인 이점이 있습니다.

Private Declare Function XLLFunction Lib "C:\PathTo3rdPartyDLL\3rdParty.xll" (ByVal A as Integer, ByVal B as String, C as Double) As Double

Sub Function myVBAFunction(A as Integer, B as String, C as Double) as Double
    myVBAFunction = XLLFunction(A, B, C)
End Sub

언급URL : https://stackoverflow.com/questions/375552/how-do-i-call-an-xll-addin-function-from-vba

반응형