0

我正在尝试使用 VB.Net Excel COM 互操作以编程方式更改程序生成的 Excel 电子表格上第一个水平分页符的位置。这样做的代码如下:

    Dim range As Excel.Range
    xlActualWS.Activate()
    xlActualWS.PageSetup.PrintArea = "$A$1:$K$68"
    range = xlActualWS.Range("A68", "A68")
    xlActualWS.HPageBreaks(1).Location = range
    System.Runtime.InteropServices.Marshal.ReleaseComObject(range)

在行设置HPageBreaks,COM异常代码0x800A03EC被抛出,我真的找不到与这个搜索相关的东西。有人知道我在这里缺少什么吗?

4

1 回答 1

1

根据代码,似乎无法设置分页符的位置,或者有 0 个分页符,因此您访问的索引无效。测试这一点的一种快速方法是执行以下操作

  • 检查 Count 属性xlActualWS.HPageBreaks,看看有多少可用
  • 删除 Location 属性的集合,看看错误是否消失

此外,您可能应该删除ReleaseComObject呼叫。这是一个很难纠正的 API,而且 CLR 非常擅长自行清理 COM 对象引用。

于 2010-09-28T18:02:09.000 回答