我在输入的Excel工作表上应用了一些过滤器,因此我决定使用vb.net中的showAllData()
方法删除它们。
MSDN参考:http://msdn.microsoft.com/en-us/library/bb178108(v=office.12).aspx
但它在这一行上给出了一个非常奇怪的例外:Exception from HRESULT: 0x800A03EC
我的代码:
sh = myWorkBook.Sheets(2)
' sh is my sheet
sh.Visible = True
sh.Activate()
sh.Select()
sh.ShowAllData() ' Exception raised on this line
我做错了什么?
这是什么例外,我最近看到了这么多。但它永远不清楚出了什么问题?
答案 0 :(得分:3)
解决了问题:
我用于输入的工作表在测试时没有过滤数据。
所以,这里是代码更改:
sh = myWorkBook.Sheets(2)
' sh is my sheet
sh.Visible = True
sh.Activate()
sh.Select()
If sh.FilterMode = True Then
sh.ShowAllData()
End If
额外的if
,解决了这个问题。
但是,提出的例外情况仍然没有帮助。如果有人可以解释异常。
答案 1 :(得分:0)
但是,提出的例外情况仍然没有帮助。如果有人可以解释异常。
ShowAllData()如果数据未被过滤则会出错,因此你必须正确地检查它:)
这是另一种方法
On Error Resume Next
xlsheet.ShowAllData()
On Error GoTo 0
要删除AutoFilter,您可以使用此代码
If xlsheet.AutoFilterMode = True Then xlsheet.AutoFilterMode = False