Ôter la protection de la feuille avec un mot de passe, sans exposer le mot de passe dans la macro
J'ai récemment commencé à écrire des Macros dans Excel.
J'ai une feuille de calcul protégée, et quelques boutons qui permettent à l'utilisateur d'ajouter/supprimer des colonnes/lignes à un certain point dans la feuille de calcul.
Je suis actuellement déprotéger la feuille de calcul, les fonctions et puis protéger la feuille de calcul.
Le problème, c'est que la feuille protégée mot de passe en texte brut dans la macro pour tout curieux des yeux pour voir.
Comment puis-je avoir un mot de passe sur la feuille pour la protéger, mais en même temps, permettre à mon Macro pour ôter la protection de la feuille de calcul, alors qu'il s'acquitte de ses fonctions, puis réappliquez, sans avoir à taper le mot de passe en clair dans la macro?
OriginalL'auteur Lock | 2012-08-16
Vous devez vous connecter pour publier un commentaire.
Deux options:
Si vous définissez la protection de feuille de calcul à l'aide de VBA vous pouvez spécifier
UserInterfaceOnly:=True
.sh.Protect Password:="Password", UserInterfaceOnly:=True
Une fois réglé de cette façon, le code VBA peut modifier la feuille sans fournir de mot de passe. Depuis le mot de passe doit être fourni à la fois pour la demande de protection, en premier lieu, exécutez ce code à partir d'un autre classeur ou addin vous garder pour vous-même.
ActiveSheet.Protect Application.WorksheetFunction.Pi
Et parfois j'utilise un mot de passe aléatoire générateur uniquement code vba peut déprotéger.+1, je ne savais pas #2 a été une option sera l'aide que moi-même.
OriginalL'auteur chris neilsen
J'ai trouvé un code un temps, qui peut être d'une certaine aide. Cela permettra de déverrouiller n'importe quel mot de passe de feuille de calcul protégée. Il faut un peu de temps en fonction de la longueur du mot de passe, mais pour l'essentiel il vient sledgehammers son chemin à travers, et déverrouille la feuille de calcul. Peut-être pas la plus efficace de répondre à votre question, mais c'est utile à peu de code pour avoir tout de même.
OriginalL'auteur Oliver Lockett
Vous pouvez appeler un
UserForm
pour gérer l'invite de mot de passe, mais masque les caractères à l'aide dePasswordChar
comme une zone de texte de la propriété.OriginalL'auteur brettdj