【发布时间】:2018-03-21 11:40:47
【问题描述】:
此代码通过功能区在 VSTO excel 工作簿应用程序中将工作表添加到我的工作簿:
Globals.ThisWorkbook.Worksheets.Add();
Excel.Window window = e.Control.Context;
Excel.Worksheet activeWorksheet =((Excel.Worksheet)window.Application.ActiveSheet);
添加的工作表也是活动的(显然)。如何在工作簿应用程序中获取现有工作表 - 最好按名称?
这给了我(在我添加上面的工作表之前)正确的 2,因为有 2 个工作表:
var nows = Globals.ThisWorkbook.Worksheets.Count;
有人会认为我至少可以像这样通过索引访问工作表:
var ws = Globals.ThisWorkbook.Worksheets[0];
但这会引发此异常:
$exception {"无效索引。(来自 HRESULT 的异常:0x8002000B (DISP_E_BADINDEX))"} System.Runtime.InteropServices.COMException
有什么想法吗?理想情况下,我想通过 name 访问工作表。谢谢!
【问题讨论】:
标签: c# vsto office-interop