Möglicherweise hat ja einer von Euch schon Erfahrungen damit gemacht.
Folgendes Problem:
Ich habe eine selbst erstellte DLL-Funktion (in C programmiert, kein AddIn), der als Parameter ein großer Datenbereich aus einer Tabelle übergeben wird. Diese DLL ist unter Excel bereits erfolgreich im Einsatz. Der Datenaustausch erfolgt hier allerdings über die Zwischenablage, dieser Mechanismus funktioniert mit OOo aber leider nicht...
Ich möchte der Funktion einen Zellbereich als Array übergeben (LoL Array per getDataArray aus dem entsprechenden Sheet gelesen).
Wo kann ich nachlesen, in welchem Datenformat diese übergeben werden?
Ich habe ein paar Experimente gemacht und stoße dabei auf viele Ungereimtheiten. Ein SAFEARRAY scheint es nicht zu sein. Nehme ich ein VARIANT an stimmt VT_TYPE nicht (0x5460)...
Es ist mir auch nicht möglich einen definierten Variant als Referenz zu übergeben:
Deklaration der DLL-Funktion:
Code: Alles auswählen
Declare Sub MyFunc Lib "MyDLL" (ByRef aVariant as Variant)
Sub DLL_Test
Dim aVariant as Variant
aVariant = 77
MyFunc(aVariant)
End Sub
Wie muss ich die Declare Anweisung ausformulieren und wie komme ich unter C an meine Daten (LoL Array aus .getDataArray()) heran. Bzw. konkret: Wie wird das Array übergeben?
Vielen Dank für Eure Unterstützung,
Gruß, Andreas