Frage

Ich verwende VSTO, um ein Excel-Add-In zu erstellen.

Mein Plan ist es, Objekte innerhalb von Excel -Arbeitsmappen zu bestehen, indem sie sie in Saiten serialisieren und diese Zeichenfolgen als Werte der Namen in der Arbeitsmappe zuweisen.

Wenn ich jedoch die API -Funktion aufrufe, um den neuen Namen hinzuzufügen, bekomme ich eine mysteriöse Ausnahme aus der COM -Bibliothek.

Genauer gesagt rufe ich an

_app.ActiveWorkbook.Names.Add(name, value, true,
            Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
            Type.Missing, Type.Missing, Type.Missing, Type.Missing);

wo

name = "an_object"

und

value = "TestTemplate|'Sheet1'!$A$1| 1Cube=(0,1):(1,2)| 2EntryNumber=(1,1):(2,2)| 3Description=(2,1):(3,2)| 4Group=(4,1):(5,2)| 5Repost=(3,1):(4,2)| 6Debit=(13,3):(16,4)| 7Credit=(13,2):(16,3)|Company=(6,1):(7,2)|Company Partner=(7,1):(8,2)|Time Monthly=(8,1):(9,2)|Currency=(9,1):(10,2)|Version=(10,1):(11,2)|Department=(13,0):(16,1)|Account=(13,1):(16,2)|"

Eine Hypothese ist, dass die value String ist nicht als Zeichenfolge qualifiziert, die in einem Namen (illegale Zeichen, zu lang usw.) gespeichert werden kann, aber ich kann keine Dokumentation darüber finden, welche Einschränkungen sind.

Weiß jemand, was hier schief geht?

Die Fehlermeldung, falls jemand es will, ist Exception from HRESULT: 0x800A03EC

Danke vielmals.

War es hilfreich?

Lösung

Noch keine Dokumentation, aber einige Versuche und Fehler legen nahe, dass mein serialisiertes Objekt zu lang ist.

Andere Tipps

Haben Sie versucht, die Parameter von Ref zu senden? z.B ...ref name, ref value, ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top