2010-11-26 73 views
1

我有一個vb.net應用程序,用戶可以在其中編寫excel文件的目錄。如果用戶選擇一個系統目錄(是的,我的用戶這樣做,不要問我爲什麼),那麼在運行時會引發System.Runtime.InteropServices.COMException。通過在寫入文件之前檢測系統文件夾來避免System.Runtime.InteropServices.COMException

我正在處理這個異常,告訴用戶請選擇另一個目錄。

我的應用程序正常工作,但我真的很想知道如何檢測目錄是否允許在引發異常之前將文件寫入它。

不,不,使用System.IO.DirectoryInfo不會做的伎倆......或者它可以,但我只是不夠好。

謝謝!

回答

0

嘗試在目標文件夾中創建一個虛擬文件,如果成功,則刪除 - 如果它(創建)失敗,很可能無法保存.xls(x)文件那裏!確保DirectoryInfo將允許檢測系統文件/文件夾,但是,虛擬文件​​技巧是檢查任何文件夾權限的廉價方式。

+0

是的,我想到了虛擬文件當然,但它有點像現在一樣:處理在運行時拋出的異常。我只想知道是否有更優雅的方式來做到這一點。儘管感謝您的回答。 – mulac 2010-11-26 03:40:27