Имя Значения в объектной модели Excel - PullRequest
1 голос
/ 18 мая 2010

Я использую VSTO для создания надстройки Excel.

Мой план состоит в том, чтобы сохранить объекты в книгах Excel, сериализовав их в строки и присвоив этим строкам значения имен в книге.

Однако, когда я вызываю функцию API для добавления нового имени, я получаю загадочное исключение из библиотеки COM.

Точнее, я звоню

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

, где

name = "an_object"

и

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

Гипотеза состоит в том, что строка value не может считаться строкой, которая может быть сохранена в имени (недопустимые символы, слишком длинные и т. Д.), Но я не могу найти никаких документов о том, что такое ограничения.

Кто-нибудь знает, что здесь происходит не так?

Сообщение об ошибке, если кто-то захочет, это Exception from HRESULT: 0x800A03EC

Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 22 мая 2010

Вы пытались отправить параметры по ссылке? например ...ref name, ref value, ...

0 голосов
/ 18 мая 2010

До сих пор нигде нет документации, но некоторые методики проб и ошибок показывают, что мой сериализованный объект слишком длинный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...