如何将新创建的Excel WOrkBook作为活动工作簿打开

时间:2014-10-22 16:04:36

标签: c# excel vsto excel-automation

我在Excel中开发了一个Addin。此插件有一个包含按钮的功能区。单击此按钮时,我将基于xml字符串创建新工作簿和工作表,该字符串将根据用户凭据从数据库中重新获取。 我可以创建工作簿以及工作表,但是,此工作簿不会显示为用户的主要工作簿。

我想要实现的是:当在Excel工作簿上单击插件时,生成的工作簿将成为活动工作簿,旧的excel工作簿将在视觉上进行,以便用户注意力集中在创建的工作簿上工作表而不是他必须搜索创建的工作簿。

以下是我使用的代码,但它似乎不起作用: Ps:Iam使用Excel 2013和VS 2013以及C#

var excel = Globals.ThisAddIn.Application; 
Microsoft.Office.Interop.Excel.Workbook newWorkBook = null; 
newWorkBook = Globals.ThisAddIn.Application.Workbooks.Add(); 
#region BringGeneratedWorkBookToFront 
string newWorkBookName = newWorkBook.Name; 
foreach (Workbook wb in excel.Workbooks){ 
   if (wb.Name == newWorkBookName) { 
      wb.Activate(); 
      break; 
   } 
}
#endregion 

1 个答案:

答案 0 :(得分:0)

这是您简化的代码:

Excel.Workbook newWorkBook =Globals.ThisAddIn.Application.Workbooks.Add();
newWorkBook.Activate();