开发者

Name Values in Excel Object model

I am using VSTO to create an Excel add-in.

My plan is to persist objects inside of excel workbooks by serializing them to strings and assigning those strings to be the values of names in the workbook.

However, when I call the API function to add the new name, I get a mysterious exception from the COM library.

More precisely, I am calling

_app.ActiveWorkbook.Names.Add(name, value, true,
            Type.Missing, Type.Missing, Ty开发者_如何学Gope.Missing, Type.Missing, 
            Type.Missing, Type.Missing, Type.Missing, Type.Missing);

where

name = "an_object"

and

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)|"

A hypothesis is that the value string does not qualify as a string that can be stored in a name (illegal characters, too long, etc) but I cannot find any documentation about what the restrictions are.

Does anyone know what is going wrong here?

The error message, in case anyone wants it, is Exception from HRESULT: 0x800A03EC

Thanks alot.


Still no documentation anywhere, but some trial and error suggests that my serialized object is too long.


Have you tried sending the parameters in by ref? e.g. ...ref name, ref value, ...

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜