Ich habe den folgenden Code:Wie wird Microsoft.Office.Interop.Excel.Application.Run in vb.net umgewandelt?
Dim technologyMapping = oXL.Run("GetTechnologyMapping")
Das Ergebnis ist ein Objekt. In meinem VBA (Makro) Code, kehre ich ein Collection
wie unten dargestellt:
Public Function GetTechnologyMapping() As Collection
' ...
Set GetTechnologyMapping = result
End Function
ich über CType
und CTypeDynamic
zu werfen bin versucht hatte aber das Glück jetzt so weit. Jedes Mal, wenn der Code eine Ausnahme auslöst, kann ich dieses Objekt nicht darstellen, obwohl das Objekt die Eigenschaft Count
hat. Wie kann ich dieses Objekt in eine Sammlung umwandeln?
Sie führen ein Makro, dass die einzige Person, der weiß, was es gibt, sind Sie. Die Sammlung ist drastisch unwahrscheinlich, der vb.net-Typ ist kein VBA-Typ. Sehen Sie sich den Makrocode an. –
Die zweite Auflistung zeigt den wichtigen Teil des Makros. Ja, es ist eine Sammlung. – Freddy
Eine von VBA-Code zurückgegebene Sammlung kann in VB.NET nicht direkt verwendet werden, da es sich um einen privaten VBA-Typ handelt. Daher ist das Umwandeln nicht möglich. Sie müssen das Objekt beibehalten und den spät gebundenen Code verwenden. –