none
如何判斷excel檔案已經被使用者開啟? RRS feed

  • 問題

  • 我使用vb.net2003

    利用CreateObject("Excel.Application")來建立excel執行個體

    並使用workBooks.Open(fileName)來開啟某個excel檔案

    程式中會對該檔案作某些修改,最後要儲存檔案

    但是若使用者同時也開啟了該檔案,儲存就會失敗

    所以想請問說要怎樣用程式去判斷使用者開啟了某excel檔案

    這樣我就能提醒使用者先去關閉該檔案後再來執行我寫的程式

    謝謝

    2008年10月4日 下午 01:05

解答

  • 查詢 GetObject 函數的用法

    2008年10月5日 上午 04:35
  • 謝謝,我查線上說明

    透過GetObject函數去比對excel執行個體可以判斷某excel檔案是否被開啟

    不過我後來想到似乎透過 workbook.readonly屬性也可達到同樣效果

    2008年10月7日 下午 01:21

所有回覆

  • 補充一下,儲存失敗並不會出現exception

    程式運作看起來正常

    但是去開啟該excel檔案就看不到修改後的結果

    可是如果是在該excel檔案沒有被使用者開啟的情況下去執行程式

    那麼就可以正常看到修改後的結果

    2008年10月5日 上午 12:56
  • 查詢 GetObject 函數的用法

    2008年10月5日 上午 04:35
  • 謝謝,我查線上說明

    透過GetObject函數去比對excel執行個體可以判斷某excel檔案是否被開啟

    不過我後來想到似乎透過 workbook.readonly屬性也可達到同樣效果

    2008年10月7日 下午 01:21
  • 在僅有唯讀權限的目錄下,也是 ReadOnly ,並不代表已被開啟。

    2008年10月7日 下午 02:40