【问题标题】:Name Values in Excel Object modelExcel 对象模型中的名称值
【发布时间】:2010-05-18 11:23:08
【问题描述】:

我正在使用 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

非常感谢。

【问题讨论】:

  • 以下是否回答了您的问题?

标签: vsto excel-2007 names


【解决方案1】:

仍然没有任何文档,但一些试验和错误表明我的序列化对象太长了。

【讨论】:

    【解决方案2】:

    您是否尝试过通过 ref 发送参数?例如...ref name, ref value, ...

    【讨论】:

      猜你喜欢
      • 2011-09-28
      • 1970-01-01
      • 2014-01-16
      • 1970-01-01
      • 1970-01-01
      • 2020-05-08
      • 2015-10-18
      • 2021-12-22
      • 2018-12-17
      相关资源
      最近更新 更多