循环所有打开的Excel工作簿

我正尝试用C#构buildExcel的加载项。 我正在使用这个教程 。 到目前为止是好的,但我有这部分代码的问题:

private void PopulateWorkbooks() { var excel = Globals.ThisAddIn.Application; var workbooks = excel.Workbooks; foreach (var workbook in workbooks) { var book = workbook as Excel.Workbook; if (book != null) { var workbookViewModel = new WorkbookViewModel(book); this.workbookViewModels.Add(workbookViewModel); } } } 

workbooks集合是没有工作簿。 代码不会循环…

有任何想法吗?

只需添加一个列表框到你的表单中,在这个代码中popup,然后你就可以开始工作了。

 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Microsoft.Office.Interop.Excel; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Microsoft.Office.Interop.Excel.Application XL = null; private void Form1_Load(object sender, EventArgs e) { XL = (Microsoft.Office.Interop.Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application"); foreach (Microsoft.Office.Interop.Excel.Workbook _wb in XL.Workbooks) { this.listBox1.Items.Add(_wb.Name.ToString()); } } } }