在vs2005上使用vsto隐藏行时出现“HRESULT:0x800A01A8”错误

时间:2010-06-24 05:16:22

标签: c# excel vsto

我试图使用C#隐藏Excel工作表中的某些行。

但行

deleteRange.EntireRow.Hidden = true;

给出错误。

选择范围和隐藏行的整个代码如下所示

string rowCnt = Convert.ToString(excelExportData.Tables["AllVersionDts"].Rows.Count + 8);
string startCell = "A" + rowCnt;
Microsoft.Office.Interop.Excel.Range deleteRange = ws.get_Range(startCell+":A65536",Missing.Value);
deleteRange.EntireRow.Delete(Microsoft.Office.Interop.Excel.XlDeleteShiftDirection.xlShiftUp);

deleteRange.EntireRow.Hidden = true;

请查看此代码,并说明我哪里出错了。

由于

1 个答案:

答案 0 :(得分:1)

“删除”以某种方式改变了你的范围。在隐藏之前重新定义范围:

deleteRange = ws.get_Range(startCell+":A65536",Missing.Value);
deleteRange.EntireRow.Hidden = true;