我有一个VSTO应用程序,在单个工作簿中我打开多个工作表。 我有一种情况,我必须知道在任何给定的实例中哪些纸张都打开了。有没有办法找出答案?
我正在使用C#和OBA。
答案 0 :(得分:1)
我不是C#人,但您当然应该能够获得您正在寻找的信息。所以下面的例子是VBA,但你应该在C#中使用所有相同的方法。
如我在OP的评论中提到的那样澄清:
ActiveSheet
,ActiveSheet
)要确定工作簿中有多少张,请使用Count
集合的Worksheets
属性:
w = ActiveWorkbook.Worksheets.Count
确定活动工作表的名称:
sName = ActiveWorkbook.ActiveSheet.Name
如果您有多个打开的工作簿,并希望在每个工作簿中获取活动工作表的名称(这只是分配给一个字符串,但可能我会将它们存储在一个数组中,以便我以后可以引用它们,如果需要):
For each wb in Excel.Application.Workbooks
sName = wb.ActiveSheet.Name
Next
如果要在所有工作簿中存储所有工作表的名称,您可以执行相同操作,或嵌套另一个For/Next
:
For each wb in Excel.Application.Workbooks
For each ws in wb.Worksheets
sName = ws.Name
Next
Next
等