2010-07-28 79 views
1

問題1打開文件:限制訪問擅長用C#程序

我已經打開一個Excel與

Excel.Application app = new Excel.ApplicationClass(); 
Excel.Workbook Wbook = app.Workbooks.Open("aaa.xlsx",...); 

文件現在,我想停止訪問 「aaa.xlsx」 等節目。 (想要限制像excel.exe &等其他程序訪問)

是否有我可以設置鎖定/阻止/限制文件打開的選項?

問題2:

因爲我做這個

Excel.Application app = new Excel.ApplicationClass(); 

我創建的Excel的新實例。 我想隱藏它從外部使用。 (我不希望它彈出時,系統上雙擊一些隨機的Excel文件。)

有什麼我可以做,以防止它被自動調用?

任何幫助將不勝感激。

回答

0

這些應該可能是單獨的問題,但我會嘗試。

此外,警告emptor:我已經觸摸Office Automation並且沒有文檔,所以我要離開內存已經有一段時間了。

Excel.Application對象應具有Visible屬性。將其設置爲false以隱藏應用程序。

至於打開文檔,檢查文檔,看看是否有任何參數,如「FileAccess」。我記不起手,但我會繼續尋找...

編輯:好吧,我在MSDN上找到了文檔,但似乎沒有任何方式指定Excel應該鎖定文檔而同時它是開放的。抱歉。

+0

我在想,必須有一些東西來支持這個,但目前爲止還沒有。無論如何感謝你的努力。 – Die4ACause 2010-07-28 06:35:34

0

一個醜陋的解決方案,但你可以做到這一點:

公開賽和自己鎖定該文件。將其複製到臨時位置,將該臨時文件加載到隱藏窗口中。保存後將其複製回原始位置。請注意,這兩個副本必須在您的程序中實現,因爲該鎖會阻止Windows執行此操作。

+0

hrm ..是的,我有點想法如何做到這一點,所以我會考慮你的建議。 thnkx。 – Die4ACause 2010-07-28 06:33:46