获取所有打开的Excel文档

时间:2011-01-12 13:39:26

标签: c# excel

我需要使用自己的数据创建xls文件。但是文件可能已经创建,并由用户打开。

(1)如果文件不存在: 新的ApplicationClass() Workbooks.Add() 另存为()...

(2)如果文件存在且未打开:没问题 - 转到(1)

(3)如果文件存在并由用户打开:需要找到它的工作簿并改进工作表的数据。

有(3)我有问题。 Marshal.GetActiveObject(“Excel.Application”)仅查找活动工作簿。

1 个答案:

答案 0 :(得分:3)

我知道回答你的时间已经很晚了,但可能对其他人有用。

Microsoft.Office.Interop.Excel.Application oExcelApp;

oExcelApp = System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");

foreach (Microsoft.Office.Interop.Excel.Workbook WB in oExcelApp.Workbooks) {
   MessageBox.Show(WB.FullName);
}

oExcelApp = null;