Excel 2013 C#interop选择范围不起作用

时间:2014-09-02 14:38:23

标签: c# .net excel office-automation

我正在将现有的C#程序从Excel 2003转换为Excel 2013(Office 365)。它使用excel互操作接口。该应用程序包含自己的Interop.Excel.dll副本(v11.0.8161),即它没有链接到本地​​计算机上安装的程序集。除了两种方法之外,它在安装了2013的机器上运行正常; Range.Select()和WorkBook.BreakLink()。第一个抛出一个例外" Range类的Select方法失败"第二个"来自HRESULT的异常:0x800A03EC"。用版本15.0.4641(来自Office 2013)替换interop dll没有任何区别,错误仍然存​​在。代码片段如下;

private Excel.Workbook NewWB;

Excel.Worksheet lastSheet = (Excel.Worksheet)NewWB.Worksheets[NewWB.Worksheets.Count];
((Excel.Range)lastSheet.Cells[1, 1]).Select();

Array links = NewWB.LinkSources(Excel.XlLinkType.xlLinkTypeExcelLinks) as Array;
    if (links != null)
        foreach (var l in links)
            NewWB.BreakLink((string)l, Excel.XlLinkType.xlLinkTypeExcelLinks);

有人知道为什么这两种方法在应用程序工作时会失败;它加载多个工作簿,提取特定的工作表,然后将它们合并到一个新的工作簿?从Microsoft文档中,这些方法仍然像以前一样工作。

0 个答案:

没有答案