我正在尝试使用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,我无法找到与此搜索相关的内容。任何人都知道我在这里缺少什么?
答案 0 :(得分:1)
根据代码,看起来无法设置分页符的位置或者有0个分页符,因此您正在访问无效索引。测试这个的一个快速方法是执行以下操作
xlActualWS.HPageBreaks
上的计数属性,看看有多少可用此外,您应该删除ReleaseComObject
电话。这是一个非常难以正确的API,CLR非常擅长清理它自己的COM对象引用。