2016-07-27 64 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/