2011-03-22 63 views
3

我編程方式創建.xls文件,並打開它在Excel如何強制用戶在Excel中保存excel文件?

例如:

Process.Start("c:/blabla.xls"); 

我刪除文件時關閉Excel,所以我想提示用戶,如果他想在excel關閉之前保存文件,最好讓他保存到新的位置。

我希望有一種說法,我可以養活期間的Process.Start

+0

下面是命令行的列表開關受Excel支持:http://office.microsoft.com/en-us/excel-help/command-line-switches-for-excel-HA010158030 .aspx – Heinzi 2011-03-22 13:19:45

回答

4

而是使用Excel文件(.xls),你可以用Excel模板(.xlt)打開Excel中打開Excel中脫穎而出。這應該使用xlt作爲模板在Excel中打開一個新的未命名文件。由於該文件未命名,因此如果用戶進行任何更改,系統將提示用戶選擇一個位置和文件名。

(我不知道,如果重命名文件就足夠,你可能要將文件保存爲模板

編輯:其實,有一個命令行開關可以讓你做到這一點(打開一個正常的Excel文件作爲模板):

excel.exe /t C:\blabla.xls 
+0

該模板部分解決了我的問題。現在它保存到一個新的位置,這是很好的。但是,如果用戶不對Excel文件做任何更改,Excel不會提示保存。有沒有辦法來重寫呢? – Marcom 2011-03-22 13:50:18

+0

@Marcom:我不知道重寫這個的方法。 (1)顯示一個保存文件對話框(使用System.Windows.Forms.SaveFileDialog類),(2)將文件保存到該位置,(3)用Excel打開文件(並且之後不要刪除它)。 – Heinzi 2011-03-22 13:57:43

2

處理BeforeClosed事件。

這是假定您正在使用Excel自動化。其中,再次閱讀您的問題後,看起來你不是。

http://j-walk.com/ss/excel/tips/tip78.htm

+0

我正在使用xlsio,但在此階段,工作簿已關閉並保存,並且我獨立啓動excel不會阻止我的應用程序。 – Marcom 2011-03-22 13:36:53