Диалоговое окно открытия файла с паролем - PullRequest
0 голосов
/ 07 мая 2020

Я использую приведенные ниже коды, но есть еще один пароль 456 , который также нужно попробовать в случае неудачи. Не могли бы вы подсказать, как это сделать?


  With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        .Filters.Add "Excel Files", "*.xls", 1
        .Show

        fullpath = .SelectedItems.Item(1)
    End With


    If InStr(fullpath, ".xls") = 0 Then
        Exit Sub
    End If

    Workbooks.Open fullpath, ReadOnly:=False, Password:="123"
    Rows("2:" & Rows.Count).ClearContents
    Range("A2").Select


End Sub```

1 Ответ

0 голосов
/ 07 мая 2020

Проверить, была ли первая попытка пароля успешной, если нет, попробуйте другой пароль.

Dim OpenWb As Workbook

On Error Resume Next 'if Workbooks.Open errors hide these messages
Set OpenWb = Workbooks.Open(fullpath, ReadOnly:=False, Password:="123")

If OpenWb Is Nothing Then 'if first faild try second
    Set OpenWb = Workbooks.Open(fullpath, ReadOnly:=False, Password:="456")
End If
On Error Goto 0 'always re-enable error reporting!

If OpenWb Is Nothing Then
    MsgBox "Both passwords were wrong"
    Exit Sub 'cancel here
Else
    With OpenWb.Worksheets(1)
        .Rows("2:" & .Rows.Count).ClearContents
        .Range("A2").Select
    End With
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...