Excel VBA 巨集執行出錯「執行階段錯誤’3706′: 找不到提供者。他可能未被正確安裝。」

最近同事請小編幫忙看一個 Excel 在執行巨集時,出現下列的錯誤訊息:「執行階段錯誤’3706′: 找不到提供者。他可能未被正確安裝。」

看了一下巨集的 VBA 程式碼,在逐次執行時,出現這個錯誤訊息,點一下「偵錯」發現到在程式碼中的錯誤關鍵點:
conn.Open “provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=” & ThisWorkbook.FullName

這個很明顯是版本的問題,在詢問一下同事,之前可以正常執行時是舊的系統(查一下紀錄之前是用 Windows 7 + Office 2007 32位元)!而現在使用的是  Windows 10 x64 + Office 2019 x64,所以很明顯這段 VBA 程式碼在 64 位元不支援 sql 查询語法。

在不斷的 Google 搜尋相關資料終於找到解決方案,將上述的程式碼改成如下紅字即可使巨集正常執行!
conn.Open “provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=” & ThisWorkbook.FullName
——-> 
conn. Open “provider=microsoft.ACE.oledb.12.0;extended properties=excel 8.0;data source=” & ThisWorkbook.FullName

小編直接將原來的註解起來留下備用,筆記一下,好久沒有碰 VBA 了,筆記一下。

發表留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料