我目前託管在.NET(2.0)格式的IE瀏覽器控制,並用它來加載Office文件,如Excel和Word正是如此:在自定義應用中託管MS Office文檔的更好選擇?
_ieCtrl.Navigate("C:\\test.xls", False);
託管和裝載工作得很好,除了每當我瀏覽到一個文件,我會看到一個對話框,詢問我是要保存還是打開文件。 (這是標準的IE文件下載行爲。)我總是想打開它,我不想顯示對話框。
另一個問題是,當我關閉託管IE控件和Office文檔的窗口時,文檔不會關閉並保持在磁盤上打開。這意味着後續嘗試通過我的應用程序或本地辦公應用程序打開同一文件將因共享衝突而失敗。
是否有編程避免此對話框並清理資源後的方式?我正在尋求一個程序化的答案,因爲網絡研究只產生了需要修改操作系統級設置的解決方案。
賞金注:
我願意接受任何解決這個問題,讓我到:
- 主機Excel電子表格中我的應用程序內
- 工作,而透明(避免可用性像上面描述的問題)
- 避免必須作出任何操作系統特定的更改,可能會影響其他應用程序(特別是包含IE)
- 是額外的成本爲零(無許可的第三方庫請)代碼項目以及其他開放源代碼資源OK
- 再浪費時間與DSO成幀器ActiveX控件,除非一個穩定的版本開發/發現
這樣會很好,但最終產品是需要將單個表單中的多種不同類型的數據進行分組的各種儀表板,因此我需要託管一個能夠顯示MS Office文檔的控件。 (對於允許相同類型的託管的解決方法的想法是受歡迎的。) – 2010-08-05 16:10:14