Сделайте так, чтобы код VBA восстановления пароля xlsx работал быстрее - PullRequest
0 голосов
/ 23 марта 2019

Как сделать так, чтобы этот простой скрипт восстановления VBA работал быстрее?

Sub Pass_Rec()
Dim passfoundx As Boolean
For i = 0 To 1200
passfoundx = True
passxy = Str(i)
On Error Resume Next
Workbooks.Open "C:\Passed_Book.xlsx", , , , Replace(passxy, " ", "")
Select Case Err
        Case 1004 'Wrong password"
            'MsgBox "Wrong!"
            passfoundx = False
        Case 0
        Case Else
            'MsgBox Err & ": " & Error
            'Err.Clear
      End Select
If passfoundx = True Then
MsgBox ("password found!")
MsgBox (i)
Exit Sub
End If

Next i

End Sub

генерация пароля происходит где-то еще, и это не проблема, единственная проблема - строка Workbooks.Open "C:\Passed_Book.xlsx", , , , Replace(passxy, " ", ""), которая занимает много времении замедляет восстановление всего пароля.

Этот код занимает больше минуты, чтобы даже найти пароль '66'!

Я уже пытался определить Excel.Application, но это не имеет большого значения.

Я пытаюсь достичь более высоких скоростей, и это в основном хобби-проект, выполненный из интереса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...