Nome valori nel modello di oggetti Excel
-
27-09-2019 - |
Domanda
Sto usando VSTO per creare un componente aggiuntivo Excel.
Il mio piano è di persistere negli oggetti all'interno delle cartelle di lavoro di Excel serializzandole alle stringhe e assegnando quelle stringhe come i valori dei nomi nella cartella di lavoro.
Tuttavia, quando chiamo la funzione API per aggiungere il nuovo nome, ricevo una misteriosa eccezione dalla libreria COM.
Più precisamente, sto chiamando
_app.ActiveWorkbook.Names.Add(name, value, true,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing);
dove
name = "an_object"
e
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)|"
Un'ipotesi è che il value
La stringa non si qualifica come una stringa che può essere archiviata in un nome (personaggi illegali, troppo a lungo, ecc.) Ma non riesco a trovare alcuna documentazione su quali siano le restrizioni.
Qualcuno sa cosa non va qui?
Il messaggio di errore, nel caso in cui qualcuno lo voglia, lo è Exception from HRESULT: 0x800A03EC
Molte grazie.
Soluzione
Ancora nessuna documentazione da nessuna parte, ma alcuni tentativi ed errori suggeriscono che il mio oggetto serializzato è troppo lungo.
Altri suggerimenti
Hai provato a inviare i parametri di Ref? per esempio ...ref name, ref value, ...