宏:以编程方式删除已知的Excel密码

时间:2017-02-08 00:53:59

标签: excel vba excel-vba passwords

有没有办法通过VBA宏从Excel文件中删除已知密码? Web搜索仅返回破解未知Excel密码的方法。

我已经自动化了数据处理的所有其他方面,除了从FTP站点下载文件并随后删除密码。

2 个答案:

答案 0 :(得分:2)

您需要打开工作簿,指定要打开和修改的密码,然后saveas指定打开和修改的空密码。为避免在覆盖现有文件时收到提示,您需要禁用警报。

e.g。

Sub OpenAndSaveWithoutPasswords()

    Dim wb As Workbook

    Application.DisplayAlerts = False

    Set wb = Workbooks.Open(Filename:="YOUR PATH AND FILENAME", Password:="OPEN PASSWORD", WriteResPassword:="MODIFY PASSWORD")
    wb.SaveAs Filename:="YOUR PATH AND FILENAME AGAIN", Password:="", WriteResPassword:=""

    Application.DisplayAlerts = True

End Sub

注意:Workbooks.Open似乎需要括号,wb.SaveAs不需要括号(不要问我原因)。

答案 1 :(得分:1)

只需在没有密码的情况下重新保存工作簿:

ActiveWorkbook.SaveAs