2016-07-27 99 views
0

我想將受密碼保護的Excel文檔鏈接到Access - 由於受到密碼保護,因此這不起作用。將受密碼保護的Excel連接到訪問

有沒有人有另一種方法來做到這一點?

它不得不被密碼保護,不幸的是不能移動到一個安全的文件夾,所以不知道該怎麼做。

有什麼建議嗎?

+0

如何不起作用,你有任何錯誤信息? –

+0

我收到一個錯誤「外部表格不符合預期格式」 - 但是,如果我將密碼從excel文檔中刪除,它將正常工作 – dmorgan20

+0

您是否在嘗試訪問Excel文檔之前打開Excel文檔? –

回答

2

嘗試使用隱藏窗體在數據庫文件打開時自動打開Excel文件。

一下添加到一個新的模塊:

Option Compare Database 
Public xl As Object 

Function OpenExcelFile() 
    xl.Workbooks.Open "path to file.xlsx", , , , "password" 
End Function 

Function CloseExcelFile() 
    xl.Quit 
    set xl=nothing 
End Function 

創建一個空白窗體並將HasModule屬性爲true。然後將以下內容添加到表單的代碼模塊中。

Private Sub Form_Load() 
    OpenExcelFile 
End Sub 

Private Sub Form_Close() 
    CloseExcelFile 
End Sub 

現在用OpenForm任務創建一個新的宏來打開表單。將窗口模式設置爲「隱藏」。用名稱'AutoExec'保存宏。這使得它打開數據庫時運行。

當數據庫打開時,宏將運行並打開隱藏的窗體。表單加載事件將觸發,創建一個公開的Excel.Application對象來打開你的excel文件(如果你希望提示用戶,你應該能夠從代碼中移除密碼)。 Excel應用程序將保持打開狀態,直到隱藏窗體關閉(關閉數據庫時)。此時表單關閉事件將觸發,導致Excel應用程序退出。只要Excel文件處於打開狀態,您應該可以使用鏈接表和查詢。

**如果您希望它對用戶可見,則可以將xl.Visible = true添加到OpenExcelFile函數。

此鏈接作爲類似的想法:https://www.connectionstrings.com/how-to-open-password-protected-excel-workbook/