Genel Bakış
Makro Güvenliği (Macro Security), Excel'in bir çalışma kitabındaki VBA makrolarını açılışta çalıştırıp çalıştırmayacağını belirleyen güvenlik ayarlarının tümüdür. Makrolar kötü amaçlı kod taşıyabileceği için bu ayarlar, dosyanın kaynağına, dijital imzasına ve bulunduğu konuma göre makroyu engeller, bildirim gösterir ya da çalıştırır. Doğru yapılandırıldığında hem makro kullanan dosyalarınız sorunsuz açılır hem de bilgisayarınız zararlı kodlara karşı korunur.
msoAutomationSecurityForceDisable makroları kapatır, msoAutomationSecurityLow makroları uyarısız çalıştırır, msoAutomationSecurityByUI ise kullanıcının Güven Merkezi ayarına uyar. İşiniz bitince değeri eski haline getirmeyi unutmayın. Makro Ayarları sayfasındaki seçimin kendisi ise VBA ile değiştirilemez.
.xlsm satırı için formülün sonucu: Makro güvenliği devrede. .xlsx satırında ise makro saklanamayacağı için güvenlik uyarısı hiç çıkmaz. Listedeki makro destekli tür sayısı 4 olarak hesaplanır. Bu uzantılardan biriyle kaydettiğiniz dosyalar açılışta Makro Ayarları'na tabi tutulur.
Veri artık filtre düğmeleri olan, otomatik genişleyen bir tablodur. Yeni bir ayar ya da not satırı eklerseniz tablo kendiliğinden büyür. Günlük kullanımda Bildirimli devre dışı bırak satırındaki varsayılan ayarı koruyun; makroyu yalnızca güvendiğiniz dosyalarda İçeriği Etkinleştir düğmesiyle açın.
Muhasebe Makroları konumu eklendikten sonra 157 gün geçmiş, İndirilenler konumunda ise denetim aynı gün yapıldığı için 0 gün görünür. Durum sütunundaki açılır listeden Aktif, Pasif ya da Silinecek seçebilirsiniz. İndirilenler satırı kırmızı vurgulanır, çünkü internetten gelen dosyaların bulunduğu klasör güvenilen konum olmamalıdır. Gerçek konumları Güven Merkezi > Güvenilen Konumlar sayfasından kaldırabilirsiniz.
Nerede bulunur
Makro güvenliği ayarlarına iki yoldan ulaşabilirsiniz:- Geliştirici > Kod > Makro Güvenliği (Developer > Code > Macro Security): Doğrudan Makro Ayarları sayfasını açar. Geliştirici sekmesi görünmüyorsa Dosya > Seçenekler > Şeridi Özelleştir (File > Options > Customize Ribbon) bölümünden Geliştirici kutusunu işaretleyin.
- Dosya > Seçenekler > Güven Merkezi > Güven Merkezi Ayarları > Makro Ayarları (File > Options > Trust Center > Trust Center Settings > Macro Settings): Aynı sayfaya Güven Merkezi üzerinden gider.
Makro ayarı seçenekleri
Makro Ayarları sayfasında dört seçenek bulunur:- Bildirimde bulunmadan tüm makroları devre dışı bırak: Güvenilen konumdaki dosyalar dışında hiçbir makro çalışmaz ve size uyarı gösterilmez.
- Bildirimde bulunarak tüm makroları devre dışı bırak: Varsayılan ve önerilen ayardır. Makrolar kapalı açılır, sarı güvenlik çubuğundan İçeriği Etkinleştir (Enable Content) düğmesiyle açabilirsiniz.
- Dijital olarak imzalanmış makrolar dışındaki tüm makroları devre dışı bırak: Güvenilen yayımcının imzaladığı makrolar sessizce çalışır; güvenilmeyen yayımcının imzalısı için bildirim çıkar; imzasız makrolar engellenir.
- Tüm makroları etkinleştir: Her makro uyarısız çalışır. Zararlı kodlara karşı koruma kalmadığı için önerilmez.
Güvenilen konum, yayımcı ve internetten gelen dosyalar
Makro ayarını sıkı tutup yine de kendi dosyalarınızı rahatça kullanmanın üç yolu vardır:- Güvenilen Konumlar (Trusted Locations): Belirlediğiniz klasördeki dosyalar makro ayarından bağımsız, uyarısız açılır. Yalnızca sizin yazabildiğiniz klasörleri ekleyin; İndirilenler gibi klasörleri asla güvenilen konum yapmayın.
- Güvenilen Yayımcılar (Trusted Publishers): Makroyu dijital sertifikayla imzalayan kişi ya da kurumu güvenilir olarak kaydedersiniz; imzalı makrolar bildirim olmadan çalışır.
- Korumalı Görünüm (Protected View): İnternetten indirilen ya da e-posta ekinden gelen dosyalar salt okunur açılır. Güncel Microsoft 365 sürümlerinde internetten gelen dosyalardaki makrolar ayrıca engellenir ve güvenlik riski iletisi çıkar. Dosyaya güveniyorsanız dosyanın Özellikler penceresinde Genel sekmesindeki Engellemeyi Kaldır (Unblock) kutusunu işaretleyin.
Makro güvenliğini VBA ile denetlemek
Başka bir makro bir dosyayı kodla açıyorsa, açılan dosyanın makroları Application.AutomationSecurity özelliğine göre işlenir. Varsayılan değer, normal açılıştaki güvenlik ayarını kullanır. Aşağıdaki kod, kodla açılan dosyalardaki makroları kapatır:
VBA
3 satır
Application.AutomationSecurity = msoAutomationSecurityForceDisable
Workbooks.Open "Rapor.xlsm"
Application.AutomationSecurity = msoAutomationSecurityByUI
1. Hangi dosya türü makro taşır
Makro güvenliği yalnızca makro saklayabilen dosya türlerini ilgilendirir. Tabloda sık kullanılan Excel uzantıları ve makro taşıyıp taşımadıkları listelenmiştir. Dördüncü sütundaki EĞER (IF) formülü, makro destekli türleri işaretler. Örnekteki kurulum kodu ayrıca Evet olan hücreleri kırmızı renkle vurgulayan bir koşullu biçimlendirme ekler. Kendi sayfanızda aynısını yapmak için hücreleri seçip Giriş > Koşullu Biçimlendirme > Hücre Kurallarını Vurgula > Eşittir yolunu izleyin.Makro Güvenliği
Formülünü incelemek için bir hücre seçin.| A | B | C | D | |
|---|---|---|---|---|
| 1 | Uzantı | Dosya Türü | Makro Taşır mı | Makro Durumu |
| 2 | .xlsx | Excel Çalışma Kitabı | Hayır | Makro çalışmaz |
| 3 | .xlsm | Makro Etkin Çalışma Kitabı | Evet | Makro güvenliği devrede |
| 4 | .xlsb | İkili Çalışma Kitabı | Evet | Makro güvenliği devrede |
| 5 | .xltx | Excel Şablonu | Hayır | Makro çalışmaz |
| 6 | .xltm | Makro Etkin Şablon | Evet | Makro güvenliği devrede |
| 7 | .xlam | Excel Eklentisi | Evet | Makro güvenliği devrede |
| 8 | Makro destekli tür sayısı | 4 |
Dosya TürleriExcelDepo v1.0.0
2. Makro ayarlarını karşılaştırma tablosu
Güven Merkezi'ndeki dört makro ayarının davranışını tek tabloda özetleyelim. Örnekteki kurulum kodu veriyi Excel tablosuna (Ekle > Tablo) çevirir, tablo stili uygular ve sütunları otomatik sığdırır. Kendi dosyanızda aynısını yapmak için veri aralığını seçip Ctrl+T tuşlarına basın ve Tablom başlık içeriyor kutusunu işaretleyin.Makro Güvenliği
Formülünü incelemek için bir hücre seçin.| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Ayar | Bildirim Çıkar mı | İmzalı Makro | İmzasız Makro | Öneri |
| 2 | Bildirimsiz devre dışı bırak | Hayır | Çalışmaz | Çalışmaz | Yüksek güvenlik |
| 3 | Bildirimli devre dışı bırak | Evet | Kullanıcı karar verir | Kullanıcı karar verir | Varsayılan, önerilir |
| 4 | Yalnız imzalı makrolar | Güvenilmeyen yayımcıda | Güvenilen yayımcıda çalışır | Çalışmaz | Kurumsal ortam |
| 5 | Tüm makroları etkinleştir | Hayır | Çalışır | Çalışır | Önerilmez |
Makro AyarlarıExcelDepo v1.0.0
3. Güvenilen konumları denetleme listesi
Güvenilen konumlar makro uyarısını tamamen atladığı için düzenli denetlenmelidir. Tabloda konumun eklenme ve son denetim tarihi vardır; Geçen Gün sütunu iki tarih arasındaki farkı hesaplar. Örnekteki kurulum kodu Durum sütununa açılır liste (Veri > Veri Doğrulama) ve Silinecek durumundaki satırlara kırmızı koşullu biçimlendirme ekler.Makro Güvenliği
Formülünü incelemek için bir hücre seçin.| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Konum Adı | Eklenme Tarihi | Son Denetim | Geçen Gün | Durum |
| 2 | Muhasebe Makroları | 2024-01-15 | 2024-06-20 | 157 | Aktif |
| 3 | Satış Raporları | 2023-11-02 | 2024-05-10 | 190 | Aktif |
| 4 | Ortak Ağ Klasörü | 2024-03-01 | 2024-03-15 | 14 | Pasif |
| 5 | Kişisel Şablonlar | 2023-09-12 | 2024-06-01 | 263 | Aktif |
| 6 | İndirilenler | 2024-02-20 | 2024-02-20 | 0 | Silinecek |
Güvenilir KonumlarExcelDepo v1.0.0
Kullanırken dikkat edin
- Tüm makroları etkinleştirmeyin: Sorun çıktığında en kolay çözüm gibi görünse de bu seçenek bilgisayarınızı e-posta ve internet kaynaklı makro virüslerine açık bırakır. Bunun yerine güvendiğiniz dosyaları güvenilen konuma taşıyın ya da dosyaya özel olarak İçeriği Etkinleştir deyin.
- Makro çalışmıyorsa nedenini sırayla kontrol edin: Dosyanın uzantısı .xlsx ise makro zaten kaydedilmemiştir; Farklı Kaydet ile .xlsm seçin. Dosya internetten ya da e-postadan geldiyse Özellikler penceresindeki Engellemeyi Kaldır kutusunu işaretleyin. Ardından Makro Ayarları'nı ve kurumsal bilgisayarda grup ilkesi kısıtını kontrol edin.
- Ayarın kapsamı: Makro Ayarları dosyaya değil, Excel kullanıcısına aittir. Dosyayı başka bir bilgisayara götürdüğünüzde makro, o bilgisayarın ayarına göre davranır. Dosyayı paylaşırken alıcıya İçeriği Etkinleştir adımını anlatmak gerekebilir.
- Güvenilen konum seçimi: Yalnızca sizin ya da yetkili kişilerin yazabildiği klasörleri güvenilen konum yapın. Ağ klasörlerini güvenilen konum yapmak, Güvenilen Konumlar sayfasında ayrıca izin verilmesini gerektirir ve riski artırır. Masaüstü, İndirilenler ve geçici klasörleri eklemeyin.
- Dijital imza: Kendi makrolarınızı VBA Düzenleyicisi'nde Araçlar > Dijital İmza (Tools > Digital Signature) ile imzalayabilirsiniz. Kendi oluşturduğunuz sertifika yalnızca sizin bilgisayarınızda güvenilir sayılır; kurumda dağıtım için bir sertifika yetkilisinin verdiği sertifikayı kullanın. Kod imzalandıktan sonra değiştirilirse imza geçersiz olur.
- Excel 4.0 makroları: Eski XLM makroları için Güven Merkezi'nde ayrı bir ayar kutusu bulunur. Bu eski makro türü sıkça kötüye kullanıldığından, ihtiyacınız yoksa devre dışı bırakılmış halde bırakın.
- İlgili konular:
- Güven Merkezi (Trust Center) ve Güvenilen Konumlar
- Korumalı Görünüm (Protected View)
- Makro, Makro Kaydedici ve Geliştirici sekmesi
- VBA Düzenleyicisi ve dijital imza
- Application.AutomationSecurity özelliği
- Farklı Kaydet ile .xlsm ve .xlsb dosya türleri
- Veri Doğrulama ve Koşullu Biçimlendirme
- EĞER ve EĞERSAY işlevleri