2011-01-12 130 views
1

我需要用自己的數據創建xls文件。但是文件可能已經被創建,並且被用戶打開。獲取所有打開的Excel文檔

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

(2)如果文件中存在,並沒有打開:沒有問題 - 轉到(1 )

(3)如果文件存在並且被用戶打開:需要找到工作簿並改寫工作表的數據。

(3)我有問題。 Marshal.GetActiveObject(「Excel.Application」)僅查找活動工作簿。

+0

Marshal.BindToMoniker幫我 – 2011-01-13 08:19:47

回答

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;