Excel에서 추가 기능을 사용하려면 Excel에서 VBA를 호출해야합니다.Object Type VBA에서 C#을 호출하는 중 오류가 발생했습니다.
Dim Identifiers() As Variant
Dim Variables() As Variant
Dim Times() As Variant
...
Dim QaddIn As COMAddIn
Dim QTool As Object
Dim results As Variant
Set QaddIn = Application.COMAddIns("QTool")
QaddIn.Connect = True
Set QTool = QaddIn.Object
results = QTool.GetQData(datasetName, Identifiers, Variables, Times, timeString)
GetQData
은 다음과 같이 C#으로 정의됩니다 : VBA에서 나는 여러 가지 배열을 전달하는 생성
string[] GetQData(string DatasetName, object[] Identifiers, object[] Variables, object[] TimeCodes,
string TimeString);
하지만이 코드를 실행하면, VBA 오류 object of type 'system.object[*]' cannot be converted to object of type 'system.object[]'
가 발생합니다. 이 코드는 Dim Identifiers(3) As Variant
에서와 같이 고정 길이로 정의 된 변형 배열을 잘 전달합니다. 내가 지금 통과하려고하는 것의 차이는 무엇입니까?
GETCIQData 메서드와 같은 코드를 더 많이 제공 할 수 있습니까? C#이 Variant ... – MethodMan
을 사용하지 않는다는 것을 명심하십시오. 이렇게 호출하려고 했으므로 .. 일부 호출 또는 메서드가 누락되었습니다.? – MethodMan
C#은 변형을 사용하지 않습니다. 전달 된 배열을 객체 배열로 읽습니다. 내가 말했듯이, 그것은 고정 길이 배열로 잘 작동합니다. – Patrick