2012-03-06 223 views
3

我已經認識到,當Excel通過自動化打開它打開它的啓動項,例如工作簿Personal.xls默認情況下不會。這對我的用戶有時會造成問題,他們有時會通過我的應用程序打開Excel,然後繼續在其他工作中使用它。如何通過自動化啓動Excel時打開personal.xls工作簿?

不幸的是Excel的情況下以這種方式不包含他們的個人宏開。他們必須關閉Excel並從我的應用程序之外重新打開它,以便它們的宏可用。

有沒有一種方法來使Excel自動加載工作簿Personal.xls通過自動啓動的時候嗎?如果沒有,打開該文件的最佳方式是什麼,請記住它不應該是用戶可見的,但仍然隱藏?

創建對象和打開應用程序

Excel.Application xlApp = new Excel.Application(); 

任何意見或鏈接任何人都可以提供將最欣賞的時候我還沒有找到任何選項來做到這一點。我已經搜索並搜索了這方面的信息,但似乎沒有人嘗試解決這個問題。我正在使用Excel 2007和.NET 2.0。

+0

你可能會尋找VBA,而不是自動化。 – squelos 2012-03-06 20:17:10

+0

當通過自動化啓動Excel時是否加載了加載項? – Cutter 2012-03-06 21:03:56

+0

@squelos由於我的應用程序是用C#我別無選擇,只能試圖通過相同的方法自動化。 – 2012-03-06 22:19:02

回答

2

事實證明,簡單地找到和打開用戶的PERSONAL.XLS(或personal.xlsx爲那些在Excel的新版本中創建)就是答案。

Excel.Application xlApp = new Excel.Application(); 
string filename = xlApp.StartupPath + "\\personal.xls"; 

xlApp.Workbooks.Open(filename, 0, false, 5, Missing.Value, Missing.Value, false, 
    Missing.Value, Missing.Value, Missing.Value, false, Missing.Value, false, 
    true, false); 

工作簿Personal.xls打開隱藏在後臺(如需要),並允許充分利用連接到它的所有宏。

一旦我知道要尋找什麼,我發現這個帖子一些有用的信息:通C#Excel XLSTART problem with C#/.Net

0

我不知道如果這是你在找什麼,但我已經在Word中相同的附加問題。我解決了它,但它可能不是你所需要的。

保存與自動化的文件,然後用程序啓動它。

System.Diagnostics.Process.Start("excel.exe", "C:\\somefolder\\somefolder\\personal.xls"); 

我希望這可以工作。

+0

用戶的Personal.xls文件通常已經存在,所以我不能把它保存不先找到它,而只是打開它竟然是答案 – 2012-03-08 00:31:19

相關問題