2016-01-07 3 views
1

У меня есть основная книга, которая соединяется с несколькими командами, чтобы связать вместе большую сумму данных. По сути, я использую список стилей базы данных панелей инструментов со своим ключевым словом (являюсь сотрудником, ответственным за панель управления), сокращенным именем панели управления, полным пуском панели и паролем панели инструментов.Отключить запрос пароля при открытии книги через VBA

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

Все работает достаточно прилично, но подсказка ввода пароля для открытия рабочей книги появляется, если при попытке запустить код неверно указан пароль. Если вы нажмете отмену, она работает точно так, как должна, но это неудобно и немного запутанно. Есть ли способ остановить это приглашение? Он отображается на set wbDash = workbooks.open .... Линия:

'Make sure password is correct 
If PWChange = True Then 'PWChange:=Boolean 
    On Error Resume Next 
    Application.DisplayAlerts = False 
    Set wbDash = Workbooks.Open(FileName:=(DashLocBox.Value + DashNameBox.Value + ".xlsm"), password:=PW1Box.Value) 
    Application.DisplayAlerts = True 
    If Err.Number = 1004 Then 
     MsgBox "You have supplied an incorrect password. You cannot update the workbook with an incorrect password." 
     Exit Sub 
    ElseIf Err.Number <> 0 Then 
     MsgBox "An unexpected error has occurred. Aborting..." & vbCrLf & vbCrLf _ 
      & "Err " & Err.Number & ";" & Err.Description 
     Exit Sub 
    End If 
    wbDash.Close 
    Err.Clear 
    On Error GoTo 0 
End If 
+2

попробуйте открыть его, как только для чтения Workbooks.Open Имя файла: = файл-путь, ReadOnly: = True – Linga

+0

И что сделал это. Ну, это было смешно просто, спасибо! Я чувствую, что должен был найти этот ответ легче, чем я, поэтому, по крайней мере, если кому-то это нужно, он здесь: -0 .... Спасибо за помощь! –

ответ

1

Linga ответил на это в комментарии выше. Просто нужно открыть его только для чтения. FML ...

set wbDash = workbooks.open(FileName:=(DashLocBox.Value + DashNameBox.Value + ".xlsm"), password:=PW1Box.Value, readonly:=True)

Смежные вопросы