从 vba 打开受密码保护的 excel 文件而不提示密码
Open password protected excel file from vba without the password prompt
我必须每天打开一个 excel 文件并刷新内容以获取最新的销售数据。我想使用 windows 任务调度来自动执行此操作。由于 excel 文件受密码保护,我读到最好的方法是创建另一个 excel 文件,其中 workbook_open-macro 可以打开所需的 excel 文件。
但问题是,我发现的代码仍然提示用户输入密码。我可以直接按回车然后它就会打开,但为什么仍然有提示呢?我正在使用 Excel 365,是否有一些解决方法或者我做错了什么?
我尝试了 ReadOnly:=False 和没有,没有任何改变。如果我设置 ReadOnly:=True,它可以工作,但我无法在更改后保存文件。
这是我正在使用的代码:
Sub Workbook_Open()
Application.DisplayAlerts = False
Workbooks.Open Filename:="Path\file.xlsx", Password:="*****", ReadOnly:=False
Application.DisplayAlerts = True
ThisWorkbook.Close SaveChanges:=False
End Sub
试试这个:
Application.DisplayAlerts = False
Workbooks.Open "path\file.xlsx", , , , "password"
Application.DisplayAlerts = True
ThisWorkbook.Close SaveChanges:=False
工作簿密码是受保护的还是写保留的?
写保留文件在没有正确密码的情况下只能以只读方式打开,而密码保护根本无法打开。
如果工作簿是写保留的,正确的命令应该是:
Workbooks.Open Filename:="Path\file.xlsx", WriteResPassword:="*****", ReadOnly:=False
我必须每天打开一个 excel 文件并刷新内容以获取最新的销售数据。我想使用 windows 任务调度来自动执行此操作。由于 excel 文件受密码保护,我读到最好的方法是创建另一个 excel 文件,其中 workbook_open-macro 可以打开所需的 excel 文件。 但问题是,我发现的代码仍然提示用户输入密码。我可以直接按回车然后它就会打开,但为什么仍然有提示呢?我正在使用 Excel 365,是否有一些解决方法或者我做错了什么?
我尝试了 ReadOnly:=False 和没有,没有任何改变。如果我设置 ReadOnly:=True,它可以工作,但我无法在更改后保存文件。
这是我正在使用的代码:
Sub Workbook_Open()
Application.DisplayAlerts = False
Workbooks.Open Filename:="Path\file.xlsx", Password:="*****", ReadOnly:=False
Application.DisplayAlerts = True
ThisWorkbook.Close SaveChanges:=False
End Sub
试试这个:
Application.DisplayAlerts = False
Workbooks.Open "path\file.xlsx", , , , "password"
Application.DisplayAlerts = True
ThisWorkbook.Close SaveChanges:=False
工作簿密码是受保护的还是写保留的?
写保留文件在没有正确密码的情况下只能以只读方式打开,而密码保护根本无法打开。
如果工作簿是写保留的,正确的命令应该是:
Workbooks.Open Filename:="Path\file.xlsx", WriteResPassword:="*****", ReadOnly:=False