Excel中的VBA模块是否被视为NPOI或POI中的电子表格?

时间:2017-03-27 11:08:13

标签: npoi

我正在开展一个NPOI项目。

我有一个Excel文件,其中包含5个电子表格,其中包含:

  • 2被隐藏(因为它们是对话框,用户界面,工作表DlgView1DlgView2)。
  • 3工作表(WrkSht1, WrkSht2, WrkSht3)可见一些包含公式和外部链接的数据。

此外,Excel工作表包含一个名为VBA module的{​​{1}},其中包含一些逻辑。

当我使用Module1.bas属性检查工作表的数量时,它显示workbook.NumberOfSheets,但是当我遍历所有工作表的代码时,我得到以下结果:

5

我想应该是这样的:

1. Sheet1 = DlgView1 -------> which is hidden 
2. Sheet2 = DlgView2 -------> which is hidden 
3. Sheet3 = Module1  -------> which is hidden --->This is what is confusing!!!! 
4. Sheet4 = WrkSht1 ------->  which is visible    
5. Sheet5 = WrkSht2 ------->  which is visible

我无法访问其中一个可见工作表1. Sheet1 = DlgView1 -------> which is hidden 2. Sheet2 = DlgView2 -------> which is hidden 3. Sheet3 = WrkSht1 -------> which is visible 4. Sheet4 = WrkSht2 -------> which is visible 5. Sheet5 = WrkSht3 -------> which is visible ,因为此时工作表的计数(= 5)结束。

此外,当我的代码设置为围绕工作表WrkSht3的不同单元格进行播放时,它实际上将指向WrkSht1,而对于工作表WrkSht2,它实际上将指向{{ 1}}。

但从上面的结果可以看出,WrkSht2从未被初始化为工作表。

出于测试目的,我删除了WrkSht3并进行了检查,它可以正常计数WrkSht3并考虑要处理的所有工作表(Module1)。

另外,要提及的是,在使用此文件时,我会抛出一个异常。没有任何其他人:

5

我的问题是:

DlgView1, DlgView2, WrkSht1, WrkSht2, WrkSht3Unsupported BOF found of type VBModuleNPOI工作表中的POI视为隐藏工作表吗?

  • 如果没有,为什么代码将VBA module视为工作表而不是上面解释的实际可见工作表Excel

  • 如果是,有没有办法告诉代码不要将Module1视为工作表,还要考虑实际可见的工作表,例如WrkSht3

如果需要,我可以发送我正在处理的VBA Modules表。感谢

0 个答案:

没有答案