iT邦幫忙

5

excel 檔案開啟的情況

vba
  • 分享至 

  • xImage

某Excel xls檔案在A電腦開啟會出現下列訊息
The VBA function file was not found
但在 B電腦開啟則不會有這個訊息, 而我檢查增益集與 library 的資料匣, 並沒有發現差異, 是缺少哪個物件嗎? 謝謝

讀取B電腦硬碟中的某個檔案,A電腦沒有此檔案,這個看VBA程式了解讀取哪個檔案,從B電腦複製到A電腦碟碟中。
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
Gary
iT邦好手 1 級 ‧ 2025-07-26 23:12:15
步驟 操作方式
1️⃣ 在 A 電腦打開 VBA 編輯器(Alt + F11)→ 插入標準模組 → 將你的使用者自訂函數(UDF)搬移至 Module。確保此函數 不在 ThisWorkbook 或任何 Worksheet 的程式區內。
2️⃣ 檢查 Excel 的巨集與安全性設定:Tools → Macro Security → 設為允許巨集、啟用 Trust access to the VBA project object model,並確保檔案位於 Trusted Location 或以允許狀態開啟。
3️⃣ 在 VBA 編輯器中執行 Tools → References → 比對 A、B 電腦名稱與勾選項目。有無出現 “Missing …” 提示?若有,須針對相同版本重新設置或取消不必要的參考。
4️⃣ 若 VBA 程式中使用 Declare PtrSafe Function … Lib "xxx.dll",需確認 DLL 檔是否存在於 A 電腦,且位於正確路徑。必要時請於 Declare 中指定 完整路徑,或使用 SetDefaultDllDirectoriesAddDllDirectory 調整 DLL 搜尋行為。
5️⃣ 回到 VBA 編輯器 → 選 Debug → Compile VBAProject,處理所有編譯錯誤 → 儲存 VBA 專案與 Excel 檔案 → 關閉重開並啟用巨集。
6️⃣ 若以上仍失敗:將該檔複製到 不同資料夾或重新命名 → 不要立即點擊啟用巨集 → 進入 VBA 編輯器 → Debug → Compile → 儲存 → 關閉再以原名開啟 → 啟用巨集。此流程常能解除腐敗狀態。
7️⃣ 若無法解決,可嘗試對 Office 安裝進行 Repair(快速修復或線上修復),以矯正底層 VBA 或 library 的損壞。

總結:
最常見原因是 UDF 沒存在標準模組,Excel 無法正確偵測
其他原因包括巨集安全性差異、References異常或Declare的DLL沒有找到。

以上參考~

ektrontek iT邦研究生 1 級 ‧ 2025-08-02 21:27:53 檢舉

感謝

我要發表回答

立即登入回答