2013-07-22 27 views
1

我正在使用Powerbuilder 11.5,如果特定的excel文件已經在excel中打開,我想彈出錯誤消息給用戶。請讓我知道這個評論。Powerbuilder:如何找到已打開的excel文件

+2

你的用戶真的想在這種情況下出現錯誤信息嗎?爲什麼不激活Excel應用程序並將該電子表格窗口置於前臺?看起來更加用戶友好... – NoazDad

回答

2

一個簡單的方法是嘗試打開與FileOpen()文件與LockReadWrite!文件鎖定(獨佔模式):

  • 如果FileOpen()回報-1開過失敗,你可以通知用戶
  • 如果FileOpen()返回別的東西,理由FileClose()並繼續該過程

這種檢查的缺陷是,它只是試圖排除已經打開文件,如果打開文件失敗,則文件爲,可能已經打開,但無法確定哪個進程/應用程序。

困難的方法是枚舉進程及其文件句柄,以檢查是否指向您正在檢查的文件。這並非不可能,但PowerBuilder更難做到。

+0

它工作正常,感謝您的幫助 – user2393425

+1

@ user2393425:不要忘記[接受答案](http://meta.stackexchange.com/a/65088/173356) – Seki