Ms Project’de bize işlem kolaylığı sağlayan konulardan bir tanesi de makrolardır. 

İki tip kullanım şekli vardır.

  1. Yaptığımız sıralı işlemleri tek tuşla gerçekleştirmek
  2. Özel Visual Basic Makrolarını Ms Project’e yüklemek.

Record Macro

Birden fazla aşamayla ilerlenen bir işlem düşünelim. Mesela bu size özel bir raporun çalıştırılması olabilir. Bunun için rapor kaydetmeyi de kullanabilirsiniz ama rapor kaydetseniz bile yine raporlara tıklayıp, kayıt ettiğiniz raporu seçip, gün aralığını belirlemek gibi sıralı bazı işlemleri takip etmeniz gerekiyor.

İlk öncül olarak Developer – Record Macro’ya tıklanır (Developer Tab’ı siz de açık değilse Options – Customize Ribbon Bar’dan aktif hale getirebilirsiniz).

Sonra ardıl olarak bu işlemleri yaparak Stop Recording deyin. 

Makrolarla çalışmak oldukça kolay dikkat edilmesi gereken şeyler ise yaptığınız tüm hareketleri kaydetmesi. Yani yalnızca ulaşmak istediğiniz aşamalarla ilgili bir makro kaydetmeniz daha sağlıklı olacaktır. Makro eğer yalnızca o iş programı içinde çalışsın istiyorsanız Global Project seçeneği yerine kendi projenizi seçmeniz gerekir.

Visual Basic 

Hazır paket yazılımlar için sürekli söylediğiniz şeylerden bir tanesi de bu yazılım bunu yapmıyor. Üstelik yapsaydı çok önemli problemlerimi çözecekti olabilir.

Ms Project’de de bu tarz problemlerle çokça karşılaşacaksınız. Ama Ms Project’in güzelliklerinden bir tanesi de Visual Basic kodları ile yazılımın içinde bazı şeyleri mümkün hale getirmesidir.

Örnek;
Ms Project içinde malzemelerden kaynaklanan maliyetleri yani Material Cost’u göstermeye çalışın. Göstermeniz oldukça zor. Ama Visual Basic ile Material Cost kolonunu sisteme dahil edebiliriz.

Visual Basic’de kod yazma Ms Project eğitiminin konusu değil fakat internette birçok kayıtlı kod var. Ve problemleriniz ya da talepleriniz için Ms Project’e yüklenmesi ve kullanılması oldukça kolay.

Developer – Visual Basic’e tıklayalım.

Sub MaterialsCost()

Dim Tsk As Task

Dim Res As Resource

Dim Assgn As Assignment

For Each Tsk In ActiveProject.Tasks

If Not Tsk Is Nothing Then

Tsk.Cost1 = 0

For Each Assgn In Tsk.Assignments

Set Res = ActiveProject.Resources(Assgn.ResourceID)

If Res.Type = pjResourceTypeMaterial Then

Tsk.Cost1 = Tsk.Cost1 + Assgn.Cost

End If

Next Assgn

End If

Next Tsk

End Sub

Kodumuzu code sekmesine yapıştıralım.

Visual Basic için Run Sub / User Form’a tıklayalım.


Custom Fields’dan Material Cost kolonu açalım. Burada önemli nokta da kolonun adıdır. Çünkü Visual Basic kodundaki işlemler ile Ms Project’deki değerler kolon adıyla eşleşir.Önemli olan ikinci konu ise iş programınız ilerledikce kaynak cost’larınız, adetleriniz de sürekli değişecektir. Yapmanız gereken her hesaplamada Visual Basic editörünün içine girip tekrar koda Run işlemini yaptırmaktır.İşlemin sonunda Material Cost kolonu açılmasıyla birlikte bütçeleri otomatik olarak gelecektir.