Ofis 2003 Makro güvenlik düzeyinin ayarlanması


Şekil-1 Şekil-2
Şekil-1 de Excel programı Araçlar/Makro menusu verilmiştir. Excel programı altında makro yazmak isteyen herkesin bilmesi gereken bir temel noktadan başlayalım. Biz bu mönüde sıklıkla iki alt menuyu kullanacağız, bunlar sırasıyla Güvenlik ve Visual Basic Düzenleyicisi:

1.Visual Basic Düzenleyicisi: Visual Basic düzenleyicisi bize Properties (özellikler), Project Explorer (proje kaşifi), Code page (kod sayfası) vb. alt pencerelere sahip olan kod yazım penceresini görüntüler ki biz vaktimizin çoğunu burada geçireceğiz.

2 . Güvenlik alt mönüsü: Şekil-2 de  verildiği gibi 4 farklı seçeneğe sahiptir. Biz kodlarımızı yazmazdan evvel üzerinde çalışacağımız belgeyi açacağız ve bu seçeneği şekilde görüldüğü gibi düşük olarak ayarlayıp belgemizi kaydedip kapatacağız ve sonra yeniden açacağız. Bu işlem sayesinde yazdığımız kodlar aktif hale gelecek ve çalışacaktır.

Dikkat !

Ancak unutmamak gereken bir nokta var ki o da biz her ne kadar kendi yazdığımız kodların güvenli olduğundan yani dosya sistemimiz üzerinde her hangi bir olumsuz bir etki oluşturmayacağından emin olsak bile bir başkası bu kadar iyi niyetli olmayabilir. İlerleyen derslerimizde göreceksiniz ki ofis uygulamaları tüm windows işletim sistemi kaynaklarına erişebilmektedir. Bu durum işlerin otomasyonu için harika ama veri güvenliği için berbat bir durumdur. Bu nedenle kaynağı bilinmeyen hiç bir dosya için bu ayarı düşük konumuna getirmiyoruz ne olursa olsun.

Visual Basic düzenleyecisine geçildiğinde sıklıkla kullanılacak üç alt pencere adından söz ettik, properties, project explorer ve code page. Bu pencereleri açıklamaya geçmeden önce burada kabaca property, event ve method terimlerinden bahsetmek isterim.

1 Property (Özelik) : Fiziksel bir örnek ile ifade edelim. Bir lamba nesne ise bu lambanın (durum) açık ya da kapalı olması, (renk)sarı ya da yeşil ışık vermesi birer özelliğidir. Bu örnekte olduğu gibi siz lamba.durum=açık derseniz lambanın durum özelliğini açık olarak, lamba.renk=yeşil derseniz lambanın renk özelliğini yeşil olarak ayarlamış olursunuz. Nesnelerin run time (çalışma zamanı) ve design time (tasarım zamanı) olmak üzere iki ana kategoride özellikleri vardır. Peki bunun anlamı nedir? En özet hali ile şöyle diyebiliriz bazı özellikler sadece tasarım yaparken ayarlanır bazı özellikler ile program kodları ile kodlar çalıştırılırken ayarlanabilir.

2. Event ( olay) : Sistem tarafından tetiklenen alt programlardır. Örneğin bir düğmenin tıklanması olayı ya da çalışma sayfasında seçimin değişmesi olayı. Burada dikkat edilecek nokta hangi kodun hangi olayın altında yazılacağıdır.
 
3. Method (method): Methodlar nesnelere ait ve programcı tarafından çağırılarak kullanılan alt programlardır. Bazı methodlar parametre alırken bazıları almaz. Örneğin
Sayfa1.Copy , ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
program satırında Copy metodu kullanılarak Sayfa1 çalışma sayfası, çalışma sayfası sekmelerinin en sonuna kopyalanmıştır. Burada kopyalamanın nereye yapılacağı ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) parametresi ile kendisine bu kitaptaki çalışma sayfalarından en sonuncusudan sonra olarak verilmiştir.