程 式 開 啟 檔 案 時 , 若 沒 有 指 定 檔 案 的 目 錄 , 則 所 開 啟 的 將 是 「 目 前 目 錄 」 的 檔 案 , 但 目 前 目 錄 是 經 常 改 變 的 , 如 果 指 定 目 錄 , 則 將 來 安 裝 程 式 時 , 被 開 啟 的 檔 案 必 須 安 裝 於 指 定 目 錄 中 , 比 較 沒 有 彈 性 。
解 決 以 上 問 題 的 方 法 利 用 以 下 方 法 開 啟 檔 案 :
Open App.Path + "\" + "檔案名稱" For …
並 且 將 被 開 啟 的 檔 案 與 執 行 檔 放 在 同 一 目 錄 即 可 , 因 為 App.Path 所 代 表 的 就 是 應 用 程 式 所 在 的 目 錄 。
不 過 使 用 App.Path 有 一 件 事 情 要 特 別 注 意 , 當 App.Path 位 於 根 目 錄 時 , 則 App.Path 最 右 邊 的 字 元 為 "\", 例 如 "c:\", 但 如 果 App.Path 不 在 根 目 錄 , 則 App.Path 最 右 邊 的 字 元 不 為 "\", 例 如 "d:\kj\app1", 因 此 欲 求 取 應 用 程 式 所 在 目 錄 某 一 檔 案 的 完 整 路 徑 名 稱 , 應 該 使 用 以 下 方 法 :
Dim fullpath As String If Right(App.Path, 1) = "\" Then ' 若 App.Path 為根目錄 fullpath = App.Path + "檔案名稱" Else fullpath = App.Path + "\" + "檔案名稱" End If ' fullpath 等於 "檔案名稱" 的完整路徑名稱