Question

Comment puis-je supprimer par programme un mot de passe (connu) d'un projet VBA Excel?

Pour être clair: je souhaite supprimer le mot de passe du projet VBA, pas le classeur ni aucune feuille de calcul.

Était-ce utile?

La solution

Cette méthode simple utilise SendKeys pour déprotéger le projet VBA. Cela vous ferait entrer dans le projet, vous deviez donc continuer à utiliser SendKeys pour trouver un moyen de supprimer la protection par mot de passe: http://www.pcreview.co.uk/forums/thread-989191.php

Et en voici un qui utilise une méthode plus avancée et un peu plus fiable pour la non protection. Encore une fois, cela débloquera uniquement le projet VB pour vous. http://www.ozgrid.com/forum/showthread .php? t = 13006 & amp; page = 2

Je n’ai essayé aucune de ces méthodes, mais cela pourrait vous faire gagner un peu de temps si c’est ce que vous devez faire ...

Autres conseils

Un autre moyen de supprimer le mot de passe du projet VBA consiste à:

  • Ouvrez le fichier xls avec un éditeur hexadécimal. (c.-à-d. Hex Modifier http://www.hexedit.com/ )
  • Rechercher DPB
  • Remplacer DPB par DPx
  • Enregistrer le fichier.
  • Ouvrir le fichier dans Excel.
  • Cliquez sur " Oui " si vous recevez une boîte de message.
  • Définissez le nouveau mot de passe à partir des propriétés du projet VBA.
  • Fermez et ouvrez à nouveau le fichier, puis tapez votre nouveau mot de passe pour déprotéger.

UPDATE: pour Excel 2010 (fonctionne pour MS Office Pro Plus 2010 [14.0.6023.1000 64 bits]),

.
  • Ouvrez le fichier XLSX avec 7zip

Si le classeur est protégé:

  • Parcourir le dossier xl
  • Si le classeur est protégé, cliquez avec le bouton droit de la souris sur workbook.xml et sélectionnez Modifier
  • .
  • Recherchez la partie <workbookProtection workbookPassword="XXXX" lockStructure="1"/> (XXXX est votre mot de passe crypté)
  • Supprimer <workbookProtection workbookPassword="" lockStructure="1"/> une partie. (c.-à-d. xl/worksheets/)
  • Enregistrez le fichier.
  • Lorsque 7zip vous demande de mettre à jour l'archive, dites Oui .
  • Fermez 7zip et rouvrez votre XLSX.
  • Cliquez sur Protéger le classeur dans l'onglet Consulter .
  • Facultatif: enregistrez votre fichier.

Si les feuilles de calcul sont protégées:

  • Accédez au Sheet1.xml dossier.
  • Cliquez avec le bouton droit de la souris sur sheet2.xml, <sheetProtection password="XXXX" sheet="1" objects="1" scenarios="1" />, etc. et sélectionnez Modifier .
  • Recherchez la partie <sheetProtection password="" sheet="1" objects="1" scenarios="1" />
  • Supprimez le mot de passe crypté (c.-à-d. <=>)
  • Enregistrez le fichier.
  • Lorsque 7zip vous demande de mettre à jour l'archive, dites Oui .
  • Fermez 7zip et rouvrez votre XLSX.
  • Cliquez sur Supprimer la protection dans l'onglet Consulter .
  • Facultatif: enregistrez votre fichier.

J'ai trouvé un autre moyen de résoudre ce problème afin d'éviter le mot de passe du projet VBA, sans perdre le mot de passe Excel.

utilisez Hex-editor XVI32 pour le processus

si le type de fichier est XLSM:

  1. Ouvrez le fichier XLSM avec 7-Zip (clic droit - > 7-Zip - > Ouvrir un archive).
  2. Copiez le fichier xl / vbaProject.bin en dehors du fichier (vous pouvez le glisser-déposer de 7-Zip), ne fermez pas 7-Zip
  3. Ouvrez le fichier vbaProject.bin avec HexEdit
  4. Recherchez " DPB = " et remplacez-le par " DPx = "
  5. Enregistrer le fichier
  6. Recopiez ce fichier dans 7-Zip (encore une fois, faites glisser et déposez les œuvres)
  7. Ouvrez le fichier XLSX dans Excel si vous êtes invité à & "Continuer à charger le projet &"; cliquez sur Oui. Si vous y êtes invité avec des erreurs, cliquez sur OK.
  8. Appuyez sur Alt + F11 pour ouvrir l'éditeur VBA.
  9. Appuyez sur la touche pour afficher l'erreur & # 8220; erreur inattendue (40230) & # 8221 ;, cliquez simplement sur OK (6 ou 7 fois) jusqu'à ce qu'elle disparaisse.
  10. Ensuite, il s'ouvrira automatiquement

J'ai trouvé ce ici qui décrit comment définir le mot de passe du projet VBA. Vous devriez pouvoir le modifier pour supprimer le mot de passe du projet VBA.

Celui-ci n'utilise pas SendKeys.

Faites-moi savoir si cela aide! JFV

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top