批量取消保护excel工作簿

时间:2016-02-22 23:10:44

标签: excel passwords

我在同一个文件夹中有超过100个excel工作簿,所有工作簿都使用相同的密码保护。正在寻找一种批量取消保护这些工作簿的方法。

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

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="Faculty1input"  class="faculty" style="width:100%" />
    <input id="Faculty2input"  class="faculty" style="width:100%" />
    <input id="Faculty3input"  class="faculty" style="width:100%" />
    <input id="Faculty4input"  class="faculty" style="width:100%" />
    <input id="Faculty5input"  class="faculty" style="width:100%" />
    <input id="Faculty6input"  class="faculty" style="width:100%" />
    <input id="Faculty7input"  class="faculty" style="width:100%" />
    <input id="Faculty8input"  class="faculty" style="width:100%" />
    <input id="Faculty9input"  class="faculty" style="width:100%" />
    <input id="Faculty10input" class="faculty"  style="width:100%" />

感谢您的帮助!!

1 个答案:

答案 0 :(得分:2)

这是一个经过测试的脚本,它通过循环遍历&#34;测试&#34;中的文件,将代码应用于每个文件。目录。

'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