【问题标题】:bulk unprotect excel workbook批量取消保护 Excel 工作簿
【发布时间】:2016-02-22 23:10:43
【问题描述】:

我在同一个文件夹中有 100 多个 Excel 工作簿,它们都使用相同的密码进行保护。正在寻找批量取消保护这些工作簿的方法。

我发现的一个潜在解决方案是使用 vbs 代码作为复制和保存工作簿的解决方法,但我不确定如何将此代码应用于文件夹中的所有文件。

Set objExcel = CreateObject("Excel.Application")
'
objExcel.Visible = TRUE
objExcel.DisplayAlerts = FALSE
'
Path1="C:\Users\xxxx\Test\Amazing Pty Ltd PW.xls"
Path2="C:\Users\xxxx\TestCopy\Amazing Pty Ltd PW no.xls"
'
Set objWorkbook = objExcel.Workbooks.Open(Path1,,,," ")
'
objWorkbook.Unprotect("password")
objWorkbook.SaveAs Path2
'
objExcel.Quit

感谢您的帮助!!

【问题讨论】:

    标签: excel passwords


    【解决方案1】:

    这是一个经过测试的脚本,它通过遍历“Test”目录中的文件将您的代码应用于每个文件。

    'Loop through files in a directory using Filesystemobject
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    'Set as the directory containing your files
    objStartFolder = "C:\Users\xxxx\Test\"
    
    'Set as save to directory 
    objSaveToFolder = "C:\Users\xxxx\TestCopy\"
    
    Set objFolder = objFSO.GetFolder(objStartFolder)
    Set colFiles = objFolder.Files
    
    Set objExcel = CreateObject("Excel.Application")
    objExcel.Visible = TRUE
    objExcel.DisplayAlerts = FALSE
    
    For Each objFile in colFiles
    'Open the file with it full path name
    Set objWorkbook = objExcel.Workbooks.Open(objFSO.GetAbsolutePathName(objFile),false,false)
    objWorkbook.Unprotect("password")
    objWorkbook.SaveAs objSaveToFolder & objFile.name
    Next
    
    objExcel.Quit
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 2017-04-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多