2014-09-11 3 views
0

VBA를 사용하여 Excel 파일의 잠금을 해제하려고합니다. 코드에있는 파일을 기본 비밀번호로 잠그고이 비밀번호를 다른 파일의 사용자에게 제공합니다. 항상 동일한 암호이므로 사용자가 암호를 입력 할 필요가 없습니다. 처음에 잠근 파일을 제공합니다.vba에서 Excel 파일의 보호되지 않은 암호가 올바른지 확인하는 방법은 무엇입니까?

내 문제는 사용자가 파일 잠금을 해제하기 위해 양식에 암호를 입력하고 사용자가 입력 한 암호가 올바른지 확인하지 않아서 보호 해제 기능을 호출하기 전에 어떻게해야하는지입니다.

는이 같은 하위 있습니다

Sub Unlock (Pass as String) 

    for i=1 to Sheets.Count 
     Sheets(i).Unprotect Password:=Pass 
    next i 

end Sub 

나는이 코드와 암호는 모든 게 좋아, 정확하지만 사용자가 실수를하는 경우, VBA는 사용자의 통제에서 오류 메시지를 제공하는 경우 . 내가 코드를 보호하기 전에 비밀 번호를 확인하고 잘못되면, msgbox를 표시하고 사용자가 새 암호를 다시 입력하게하지만 암호가 올바른지 확인하는 기능이 있는지 알 수 없습니다.

는이 같은 함수에서 생각 :

Sub Unlock (Pass as String) 

    'if password is good 
     for i=1 to Sheets.Count 
      Sheets(i).Unprotect Password:=Pass 
     next i 
    'else 
     msgbox "Try again!" 
    'end if 

end Sub 

그러나 나는 "암호가 좋은 경우"알 수있는 방법이 없습니다.

내 영어를 도와 주셔서 감사합니다.

+1

한 가지 방법은 적절하게 필요에 따라 예외를 당신이 주어진하든 암호 척하고 처리 할 수 ​​있습니다 : 여기 괜찮은 링크입니다. 링크를 수정했습니다 : http://www.cpearson.com/excel/errorhandling.htm – ne1410s

+0

사용하려고하는데 Excel VBA에서 "catch"및 "Finally"코드를 "인식"하지 않습니다. 지침대로 : S – Monchou2

+1

죄송합니다 - 원래 VBA 대신 VB에 대한 링크를 추가했습니다. 내 잘못 - 지금 업데이트했습니다. – ne1410s

답변

관련 문제