Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取所有打开的Excel文档_C#_Excel - Fatal编程技术网

C# 获取所有打开的Excel文档

C# 获取所有打开的Excel文档,c#,excel,C#,Excel,我需要创建自己的数据xls文件。但文件可能已经创建,并由用户打开 (1) 如果文件不存在: 新应用程序类() 工作簿。添加() SaveAs() (2) 如果文件存在且未打开:无问题-转到(1) (3) 如果文件存在并由用户打开:需要查找工作簿并重新整理工作表的数据 我有问题。Marshal.GetActiveObject(“Excel.Application”)只找到了活动工作簿。我知道回答您的问题很晚,但可能对其他人有用 Microsoft.Office.Interop.Excel.Appl

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

(1) 如果文件不存在: 新应用程序类() 工作簿。添加() SaveAs()

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

(3) 如果文件存在并由用户打开:需要查找工作簿并重新整理工作表的数据


我有问题。Marshal.GetActiveObject(“Excel.Application”)只找到了活动工作簿。

我知道回答您的问题很晚,但可能对其他人有用

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;

我知道现在回答你已经晚了,但可能对其他人有用

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;

Marshal.BindToMoniker帮助了meMarshal.BindToMoniker帮助了我