COM interop을 사용하여 VBA 코드에서 C# 메서드를 호출 할 때 매개 변수의 제한은 무엇입니까?com interop을 사용하여 VBA에서 C# dll을 호출 할 때 형식이 일치하지 않습니다.
하나의 간단한 유형 (문자열, int 등)을 사용하는 메서드를 호출하면 작동하지만 사용자 정의 클래스를 매개 변수로 사용하는 메서드를 호출하면 오류가 발생합니다. '형식 불일치' VBA 코드를 컴파일하는 동안 오류가 발생했습니다.
C# 코드 :
public namespace foo {
public class XXX { }
public class Service {
public setString(String val) { ... }
public setXXX(XXX val) { ... }
}
}
VBA 코드 : service.setXXX (complexClass)
어떤 생각 : 위에서 언급 한 바와 같이
Dim service As New foo.Service
service.setString("this works")
Dim complexClass as New foo.XXX
Rem This fails with a type mismatch error
service.setXXX(complexClass)
의 VBA 컴파일러는이 라인에 초크?
죄송합니다. 답변을 게시하지 않았습니다. 오히려, 나는 제안을 가지고있다 : 당신이 COM-interop (COM 객체를 소비하는 COM-interop 또는 COM-Callable-Wrapper를 통해 .NET 객체에 액세스하는 COM 객체)를 심각하게 수행하려는 경우이 책을 구입하십시오. : http://www.amazon.com/NET-COM-Complete-Interoperability-Guide/dp/067232170X 해당 도서에 없으면 알 필요가 없습니다. – Yoopergeek
XXX에서 인터페이스를 구현합니까? –