Mentre le risposte di Mokubai e hBy2Py sembrano fantastiche e in effetti ti consentono di mostrare l'editor VBA, sembra che almeno in Excel da Microsoft Office Professional Plus 2016 non ti permetta ancora di visualizzare il codice.
Possiedo quella versione ed ero sicuro di aver ricevuto un XLS dannoso e volevo ispezionarlo. Dopo averlo aperto in Excel, si è aperto in modalità provvisoria come al solito e ovviamente non avevo intenzione di chiudere quella modalità. Quando ho aperto VBA Editor come indicato da altri intervistati, mi è stato presentato ... vuoto VBA Editor . Il pannello "Esplora progetti" ha mostrato utile "Nessun progetto aperto" nonostante non abbia ancora chiuso il file XLS. Solo per motivi di test, ho aperto il secondo documento (uno dei miei lavori) e immediatamente è comparso nell'editor VBA ed era (correttamente) totalmente privo di qualsiasi VBA. Tuttavia, il documento da Internet non era elencato nell'editor VBA .
Ho perso un po 'di tempo cercando di capire perché è così, e non ho trovato alcun motivo. Sembra che la mia edizione Excel semplicemente non invii moduli VBA all'editor VBA quando il documento viene caricato in modalità provvisoria. Purtroppo, VBA Editor manca di alcune funzionalità "apri VBA dal documento di Office", quindi è chiaro che Excel è il cervello qui e deve decomprimere / decodificare / qualunque sia prima il XLS.
La soluzione si è rivelata abbastanza semplice.
- Fare clic su
Ribbon
-> Developer
->MacroSecurity
- in alternativa,
File
-> Options
-> SecurityCenter
(ultimo gruppo di opzioni) -> Settings
-> Macros
)
- Ricorda (o annota) quali sono le impostazioni correnti
- Modificali in "Blocca tutte le macro senza notifica"
- Conferma, chiudi, riapri il documento, riapri l'Editor VBA
- Ripristina le impostazioni originali mentre hai finito di giocare con il fuoco
effetti:
- la notifica non è stata visualizzata
- il documento è stato caricato completamente
- nessuna macro è stata eseguita
- VBA Editor ha ottenuto i moduli e ha presentato tutto il codice
Nel caso in cui tu sia curioso: sì, era davvero dannoso, piccolo esempio:
Function marcopoloko()
marcopoloko = Left("CM to inches converter", 2) + Right("fed.ex", 4) + "e " + "/c" + numneroop + amagilocard
End Function
'Sub Workbook_Open()
'If xlTickMarkOutside > 0 Then
'Shell marcopoloko + """", xlXmlExportSuccess
'End If
'End Sub
BTW. come puoi vedere, ho immediatamente commentato il punto di ingresso e salvato di nuovo il documento, nel caso in cui consento l'esecuzione delle macro in un determinato momento.
Alt
+F11
può far! SECURITY WARNING ... Enable Content
scomparire il banner " ", il che implica che l'esecuzione del codice è ora abilitata. Questo è fuorviante. Puoi dimostrarlo creando un documento con unon_open()
modulo. Sarai in grado diAlt
+F11
entrare e ispezionare il codice senza attivare l'evento.