Come posso rimuovere programmaticamente una password (conosciuta) da un progetto Excel VBA?
Per essere chiari: voglio rimuovere la password dal progetto VBA, non la cartella di lavoro o qualsiasi foglio di lavoro.
Un altro modo per rimuovere la password del progetto VBA è;
AGGIORNAMENTO: Per Excel 2010 (funziona per MS Office Pro Plus 2010 [14.0.6023.1000 64bit]),
Se la cartella di lavoro è protetta:
xl
.workbook.xml
e seleziona Modifica<workbookProtection workbookPassword="XXXX" lockStructure="1"/>
(XXXX
è la tua password criptata)XXXX
. (cioè <workbookProtection workbookPassword="" lockStructure="1"/>
)Se i fogli di lavoro sono protetti:
xl/worksheets/
.Foglio1.xml
, Foglio2.xml
, ecc. e seleziona Modifica.<sheetProtection password="XXXX" sheet="1" objects="1" scenarios="1" />
<sheetProtection password="" sheet="1" objects="1" scenarios="1" />
)Questo ha un metodo semplice usando SendKeys per sproteggere il progetto VBA. Questo ti farebbe entrare nel progetto, quindi dovresti continuare ad usare SendKeys per trovare un modo per rimuovere la protezione con password: http://www.pcreview.co.uk/forums/thread-989191.php
E qui'è uno che usa un metodo più avanzato e un po' più affidabile per togliere la protezione. Di nuovo, sbloccherà solo il progetto VB per voi. http://www.ozgrid.com/forum/showthread.php?t=13006&page=2
Non ho provato nessuno dei due metodi, ma questo potrebbe farti risparmiare tempo se è quello che devi fare...
Ho trovato questo qui che descrive come impostare la password del progetto VBA. Dovresti essere in grado di modificarlo per deselezionare la password del progetto VBA.
Questo non usa SendKeys.
Fammi sapere se questo aiuta! JFV