Während die Antworten von Mokubai und hBy2Py großartig erscheinen und es Ihnen tatsächlich ermöglichen, den VBA-Editor anzuzeigen, können Sie den Code zumindest in Excel von Microsoft Office Professional Plus 2016 immer noch nicht anzeigen.
Ich besitze zufällig diese Version und war mir sicher, dass ich ein bösartiges XLS erhalten habe und es überprüfen wollte. Nachdem ich es in Excel geöffnet hatte, wurde es wie gewohnt im abgesicherten Modus geöffnet, und natürlich hatte ich nicht die Absicht, diesen Modus zu schließen. Als ich den VBA-Editor wie von anderen Befragten angegeben geöffnet habe, wurde mir ... ein leerer VBA-Editor angezeigt . Im Bereich "Projektexplorer" wurde hilfreich "Keine offenen Projekte" angezeigt, obwohl ich die XLS-Datei noch nicht geschlossen habe. Nur zum Testen habe ich das zweite Dokument (eines meiner Werke) geöffnet und es wurde sofort im VBA-Editor angezeigt und war (ordnungsgemäß) völlig frei von VBA. Das Dokument aus dem Internet wurde jedoch nicht im VBA-Editor aufgeführt .
Ich habe einige Zeit damit verschwendet, herauszufinden, warum das so ist, und keinen Grund gefunden. Es scheint, dass meine Excel-Edition einfach keine VBA-Module an den VBA-Editor sendet, wenn das Dokument im abgesicherten Modus geladen wird. Leider fehlt dem VBA-Editor die Funktion "VBA aus Office-Dokument öffnen", sodass klar ist, dass Excel hier das Gehirn ist und zuerst das XLS entpacken / dekodieren / muss.
Die Lösung erwies sich als recht einfach.
- Klicken Sie auf
Ribbon
-> Developer
->MacroSecurity
- alternativ
File
-> Options
-> SecurityCenter
(letzte Optionsgruppe) -> Settings
-> Macros
)
- Denken Sie an die aktuellen Einstellungen (oder schreiben Sie sie auf)
- Ändern Sie sie in "Alle Makros ohne Benachrichtigung blockieren".
- Bestätigen Sie, schließen Sie, öffnen Sie das Dokument erneut, öffnen Sie den VBA-Editor erneut
- Stellen Sie die ursprünglichen Einstellungen wieder her, während Sie mit dem Feuer fertig sind
Auswirkungen:
- Benachrichtigung wurde nicht angezeigt
- Dokument wurde vollständig geladen
- Es wurden keine Makros ausgeführt
- Der VBA-Editor hat die Module erhalten und den gesamten Code präsentiert
Falls Sie neugierig sind: Ja, es war in der Tat ein bösartiges, winziges Beispiel:
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
Übrigens. Wie Sie sehen, habe ich den Einstiegspunkt sofort auskommentiert und das Dokument erneut gespeichert, falls ich die Ausführung der Makros zu einem späteren Zeitpunkt zulasse.
Alt
+F11
das! SECURITY WARNING ... Enable Content
Banner " " verschwinden kann, was bedeutet, dass die Codeausführung jetzt aktiviert ist. Das ist irreführend. Sie können dies demonstrieren, indem Sie ein Dokument mit einemon_open()
Modul erstellen . Sie werden in der Lage seinAlt
+F11
in und den Code zu überprüfen , ohne das Ereignis zu feuern.