Mokubai ve hBy2Py'nin yanıtları harika görünse de, gerçekten de VBA Düzenleyicisini göstermenize izin veriyor olsa da, en azından Microsoft Office Professional Plus 2016'dan Excel'de kodu görüntülemenize izin vermiyor gibi görünüyor .
Bu sürüme sahibim ve kötü niyetli bir XLS aldım ve incelemek istedim. Excel'de açtıktan sonra, her zamanki gibi güvenli modda açıldı ve elbette bu modu reddetme niyetim yoktu. Diğer katılımcıların belirttiği gibi VBA Editör'ü açtığımda bana boş VBA Editör verildi . XLS dosyasını henüz kapatmadım, ancak "Proje gezgini" paneli yararlı bir şekilde "Açık proje yok" gösterdi . Sadece test uğruna, ikinci belgeyi (işimden biri) açtım ve hemen VBA Editör'de ortaya çıktı ve (düzgün) herhangi bir VBA'dan tamamen yoksun. Ancak, internetten gelen belge VBA Editör'de listelenmemiştir .
Neden böyle olduğunu anlamaya çalışırken biraz zaman harcadım ve hiçbir neden bulamadım. Belge güvenli modda yüklendiğinde Excel sürümümün VBA modüllerini VBA Düzenleyicisi'ne göndermediği anlaşılıyor. Ne yazık ki, VBA Editor bazı "Office Belgesinden VBA aç" özelliğinden yoksundur, bu yüzden Excel'in burada beyin olduğu ve XLS'in ilk önce paketini açması / kodunu çözmesi gerekir.
Çözüm oldukça basit çıktı.
- Tıklayın
Ribbon
-> Developer
->MacroSecurity
- alternatif olarak,
File
-> Options
-> SecurityCenter
(son seçenek grubu) -> Settings
-> Macros
)
- Mevcut ayarların ne olduğunu hatırlayın (veya not edin)
- Bunları "Bildirim yapmadan tüm makroları engelle" olarak değiştirin
- Belgeyi onaylayın, kapatın, yeniden açın, VBA Editör'ü yeniden açın
- Ateşle oynamayı bitirdiğinizde orijinal ayarları geri yükleyin
Etkileri:
- bildirim gösterilmedi
- belge tamamen yüklendi
- hiçbir makro yürütülmedi
- VBA Editor modülleri aldı ve tüm kodu sundu
Merak ediyorsanız: evet, gerçekten kötü niyetli, küçük bir örnek:
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. Gördüğünüz gibi, makroların bir süre sonra çalışmasına izin vermem durumunda, giriş noktasını hemen yorumladım ve belgeyi yeniden kaydettim.
Alt
+ işaretinin kaybolmasınaF11
neden olabileceğini ve bu da kod yürütmenin etkinleştirildiğini belirtmek gerekir. Bu yanıltıcı. Bir modül ile bir belge oluşturarak bunu demo yapabilirsiniz . Sen mümkün olacak + ve olay ateş olmadan kodlarını incelemek.! SECURITY WARNING ... Enable Content
on_open()
Alt
F11