Yazılım teknolojileri, donanım yeniliklerine bağlı olarak gelişiyor. Web programlama dillerindeki artışın sebeplerinden biri, genişbant Internetin yaygınlaşmasına bağlı olarak daha hızlı web uygulamalarının geliştirilebiliyor olması.

Donanımda yeni teknolojiler

Microsoft Donanım Grubunun hazırladığı, Hardware Trends and Technologies adlı sunumda, donanım alanındaki yönelim beş ayrı başlıkta incelenmiş:

Donanımda trendler

Çekirdek bileşenler:

  • Moore kanunu işlemeye devam edecek. Yani işlemcilerde transistör artışı ve buna bağlı olarak daha güçlü işlemcilerin piyasaya çıkışı bekleniyor.
  • Çift çekirdekli, dört çekirdekli derken şimdi sırada sekiz çekirdekli işlemciler var.
  • Sanal makineler ve işletim sistemi sanallaştırması yaygınlaşacak. Bugünkü bilgisayarlar yeterli güce sahip olduklarından, işletmeler bir sunucuda birden çok işletim sistemini çalıştırmayı tercih edecekler.
  • Ekran kartları ve grafik işlemciler daha güçlü olacak.

Hafıza ve depolama:

  • Daha büyük kapasiteli harddiskler yolda. Terabyte harddisklerle tanışacağız.
  • Hibrit (üzerinde flash memory bulunan) harddiskler yaygınlaşacak. Özellikle Vistanın bilgisayarın daha hızlı açılmasını sağlayan Ready Boost özelliği bunda etkili olacak.
  • USB taşınabilir harddiskler ve mini bellekler yeni Kablosuz USB standardı sayesinde günlük kullanımın bir parçası olacak.
  • Gigabit Ethernetin kullanımı ile iSCSI (TCP-IP ağ üzerinden hızlı data transferi) cihazları çıkacak. Böylelikle ağ üzerinden yedekleme vb. işler kolaylaşacak.

Bağlanabilirlik:

  • Kablosuz ağ yaygınlaşacak. 802.11n cihazlar zaten piyasaya çıktı. Wimax kullanımı artacak.
  • 100 metreye kadar kısa mesafelerde yüksek hızlı iletişim sağlayan UWB (Çok genişbant) uyumlu cihazlar piyasada olacak.
  • 3.nesil cep telefonları kullanımı yaygınlaşırken 4.nesil (IP tabanlı) telefonlar hayatımıza girecek.
  • IP standardı ortak cihaz dili olacak. Televizyonlar, telefonlar, elektronik cihazlar birbirleri ile TCP-IP üzerinden haberleşecek.

Kullanıcı elektroniği:

  • Konuşma tanıma teknolojisi gelişerek kullanıma girecek.
  • LCD ekranlar, HDTV vb. görüntü teknolojileri büyük ilerlemeler kaydedecek.
  • Bilgisayarlar oturma odasına girecek.
  • Kameralı cep telefonları daha kaliteli ve yüksek çözünürlükte çekim yapma kapasiteleri ile birlikte yayılacak.
  • Elde taşınabilen bilgisayarlar (UMPC vb.) kullanılacak.

Piller:

  • Batarya teknolojileri gelişecek, kullanım süresi artacak.
  • Yakıt pilleri günlük kullanıma girecek.
  • Elektronik cihazlar gittikçe daha az güç tüketir olacaklar.

Hangi programlama dilini öğrenmeliyim? Donanımda yeni gelişmeler hangi konuda olacak? Cepten televizyon izleme, müzik indirme gibi işlerde gelecek var mı? gibi soruların cevaplarını verebilmek için araştırma şirketlerinin yayınladıkları raporları ve grafikleri incelemekte fayda var.

Hem bir arşiv bilgisi olarak saklamak üzere, hem de yön gösterici olması için değişik konulardaki yönelimleri bir inceleyelim.

Hangi programlama dili?

Gartnerin 2002 yılında yaptığı bir araştırma sonucuna göre, o yıl büyük işletmelerde en çok kullanılan programlama dili Java ve Visual Basicmiş. Hatta bir çok bankada, Cobolda yazılmış programlar çok eskiden beri kullanıldığı ve hala değiştirilmediği için %45 oranında bir Cobol kullanımı bile var.

2002'de en çok kullanılan diller

Ancak aynı araştırmada 2002-2008 yılları arasında, dünyadaki yazılım geliştiricileri sayısının değişiminin incelendiği grafiğe baktığımızda, bu sıralamanın ciddi bir şekilde farklılaştığını görüyoruz. Visual Basic ve Cobol kullanımının büyük bir hızla düşeceği, Java ve .Net dillerinin ise tırmanacağı öngörülüyor.

2002-2008 arası yazılımcı sayısındaki değişim

Bu arada grafikte tahmini 7 milyon geliştirici olacağı varsayılmış. Bu tür tahminleri yapmak çok zor. Çünkü, Evans Data şirketi, geçtiğimiz aylarda yayınladığı araştırmada, 2009 yılında dünyada 17 milyon yazılım geliştiricisi olacağını iddia etmiş. 2009da en çok yazılımcının bulunacağı ülkeler ise ABD, Çin ve Hindistan olacakmış.

2007ye geldiğimizde sonuçlar biraz daha değişik görünüyor. OReillynin kitap satışlarına göre hazırladığı grafikte, Javanın kullanımının biraz düşmekle birlikte liderlik pozisyonunda olduğu, C#ın yükseldiği, ancak Ajax teknolojisiyle web uygulamalarının popülerliğinin artmasına bağlı olarak PHPnin de yükseldiği, Ruby on Railsin büyük bir ilerleme kaydettiği görülüyor.

Kitap satışlarına göre programlama dili popülerliği

Tiobenin arama motorları sonuçlarının karşılaştırılması ile elde ettiği bilgiler de hemen hemen aynı yönde. Dikkati çeken ise, C# yazılımcılarının oranının bu grafikte çok daha az gözükmesi…

Arama motoru sonuçlarına göre programlama dilleri

Bu durumda, önümüzdeki yıllarda, java ve .Net dilleri arasındaki çekişmenin devam edeceği, web tabanlı yazılımların geleceğinin parlak olması sebebiyle, php, python ve ruby kullanımının artacağı tahmin edilebilir.

Dünya değişiyor

  • Amerikan Çalışma Bakanlığının tahminlerine göre, bugünkü öğrenciler 38 yaşına geldiklerinde, 10-14 iş değiştirmiş olacaklar.
  • Günümüzde her dört çalışandan biri, işyerinde bir yıldan daha az bir süredir çalışıyor. Çalışanların yarısı, işyerinde 5 seneden daha az süredir çalışıyor.
  • 2010 yılında en çok talep görecek olan meslekler, 2004 yılında hiç bilinmiyorlardı.
  • Bugünün öğrencilerini; henüz varolmayan işleri yapmak, henüz keşfedilmemiş teknolojileri kullanmak, henüz bilmediğimiz problemleri çözmek üzere yetiştiriyoruz.
  • Eğer Myspace bir devlet olsaydı, dünyanın en büyük 11. devleti olacaktı.
  • Cep telefonlarından her gün gönderilen kısa mesaj sayısı tüm dünya nüfusundan daha fazla…
  • Bir haftalık NewYork Times gazetesinde yer alan bilgiler, 18. yüzyılda yaşayan bir insanın hayatı boyunca öğreneceği bilgiden daha çok.
  • Bu yıl, dünyada 40 exabytelık (4 x 10 üzeri 19) yeni bilgi üretilecek. Bu miktar bundan önceki 5000 yıldan daha fazla bir miktar.
  • Üretilen yeni teknik bilgi miktarı, her iki yılda bir ikiye katlanıyor. Yani, dört yıllık bir mühendislik fakültesine yeni başlayan bir öğrenci, üçüncü sınıfa geldiğinde, ilk yıl öğrendiklerinin yarısı eski teknoloji olacak. Hatta 2010 yılında, bu ikiye katlanma miktarı her 72 saatte bir olacak.

Bu bilgileri Internette En İyi Sunum ödülünü alan bir sunumdan aldım. İstatistikleri herkesin anlayabileceği bir dille anlatan bu sunum aynı zamanda gözümüzü de korkutuyor. Bilişim sektöründeki bizler, sürekli olarak kendimizi yenilemek, teknolojiyi takip etmek zorundayız.

Bir dükkan açıp mobilya mı satsak, ne yapsak? 🙂

Bilgisayar dünyasının en tanınan yazarlarından biri olan Memik Yanık, sitesinde çok ilginç bir davayı anlatıyor:

Bu sayfaları daha önce ziyaret etmiş olanların bildiği gibi beyinleri zirvede namlı programcılık konulu kitaplar yazan saygıdeğer Nihat Demirli ve Yüksel İnan beyler beni C# kitaplarından izinsiz alıntı yapmakla suçlayıp dava etmişlerdi. Mahkeme heyetinin görevlendirdiği saygıdeğer bilirkişi Turan MERMER bey 12 suçlama maddesinden 4 tanesinde değişken adı benzerliği tespit etmişti. Neydi bu değişkenler diye merak edenler için hemen buraya yazıyorum: Sayi1, Sayi2, dizi, i, j, dizi, dosya ve deger.

İyi de, hepimiz ilk toplama programımızı yazarken sayi1 ile sayi2 yi toplayıp değerini ekrana yazdırmadık mı? Googleda sayi1 sayi2 diye arattırın bakalım kaç sonuç çıkıyor?

Çok komik… 🙁

Çiziktirme (İngilizce adıyla Pictionary), Hadi Anlat Bakalım oyununun çizerek oynanan hali. Bu sefer anlatmak istediğiniz kelimeyi belirli bir süre içinde çizmeye çalışıyorsunuz.
Oyunun yapısı gereği Internet üzerinden oynamaya çok müsait. Zaten bunu düşünerek bir çok site yapılmış. Mesela ÇizBakalım Türkçe bir site. Üye olup diğer üyelerle oyunu oynayabiliyorsunuz. Ayrıca, iSketch, Pictionary-Online, InkLink gibi İngilizce web siteleri de var.
Oyunu bilgisayarda değil de televizyonda çizerek oynayabilmek için şu aracı geliştirmişler. Televizyona bağlıyorsunuz, çizdikleriniz televizyonda görünüyor.
Enteresan bir şekilde, bu oyun yeni nesil tanışma aracı olarak da kullanılıyormuş. 🙂

Hadi Anlat Bakalım (ya da Sessiz Sinema) oyunu, senelerdir Türkiye’de televizyonlarda, arkadaş arasında vb. oynanan bir oyun. İngilizcesi Charades olan bu oyunda daha başarılı olmak için bazı ortak işaretler geliştirilmiş. Wikipedia’da bu işaretler anlatılıyor. Oradakileri biraz da değiştirerek bir işaret sistemi oluşturdum. Tabii önce bu işaretleri ezberlemek lazım 🙂

Anlatmak için kullanılabilecek ortak işaretler

Kişi : Ellerinizi belinize dayayın.
Kitap: Ellerinizi kitapmış gibi açıp kapayın.
Film : Elinizde kamera tutup çekim yapıyormuş gibi yapın.
Şarkı: Şarkı söylermiş gibi yapın.
Alıntı ya da söz: Parmaklarınızla havada çift tırnak açma kapama şekli yapın.
Yer: Elinizle bir daire çizin, ortasına nokta koyun.
Olay: Saatiniz varmış gibi bileğinize vurun.
Nesne: Elinizi kafanızın yanında tutup döndürerek deli işareti yapın.
Kelime sayısı : Parmaklarınızla gösterin.
Kaçıncı kelime: Tekrar parmaklarınızla gösterin
Birleşik kelime: Kelime sayısını parmaklarınızla kolunuza vurarak gösterin.
Birleşik kelimenin kaçıncı kelimesi: Tekrar parmaklarınızla kolunuza vurarak gösterin.
Kelimenin uzunluğu: İki elinizle kısa ya da uzun genişlik gösterin.
Doğru tahmin: Bir parmağınızı burnunuza değdirin, diğer elinizle bilen kişiyi gösterin.
Yaklaşık : Kulağınızı çekin
Biraz daha uzun: İki elinizle lastik çekiştirir gibi yapın.
Biraz daha kısa: Elinizle ortasından kesme işareti yapın.
Çoğul hali: Serçe parmaklarınızı birbirine takın.
Ek almış hali: İşaret parmağınız bükümlerinden bükün.
Geçmiş zaman: Elinizle omuzunuzun arkasına doğru işaret yapın.
Tek harf: Sağ elinizle sol kolunuza kesme işareti yapın. Harf alfabenin başına yakınsa bileğinize, sonuna yakınsa dirseğinize doğru yapın.
Renk: Önce dilinize dokunun, sonra etraftaki o renkte bir şeyi gösterin. O renkte bir şey yoksa genelde o renkteki bir nesneyi anlatmaya çalışın.
Çok yaklaştın: Elinizle sıcaktan bunalmış hareketi yapın.
Alakası yok, baştan anlatıyorum: Elinizle git oradan işareti yapın.
Eş anlamlı ya da benzer anlamlı: İki işaret parmağınızı birbirine sürtün.
Zıt ya da ters anlamlı: Yumruklarınızı sıkıp kollarınızı çapraz yapın.
Alakası yok, başka şeylere geçin: Kafanızı ve ellerinizi olmuyor anlamında sallayın.

Bilgisayarı açtınız, daha önce yaptığınız f klavye ayarlarınız kaybolmuş. Tekrar yapmak üzere Denetim Masası’nda klavye ayarları bölümüne girdiniz. O da ne? Klavye dillerinin yerinde, boş bir ekran ve “Eski stil klavye bulundu, seçenekler devredışı (Old-Style Keyboard detected, pane disabled)” mesajı var. Dil ayarlarını değiştiremiyorsunuz, yenilerini ekleyemiyorsunuz.
Bu sorun genellikle Registry’de klavye ayarlarının tutulduğu “Keyboard Layouts” bölümünün bozulmasından oluşuyor. En kolay çözümü şöyle:

  • Başlat-Çalıştır penceresinde Regedit yazarak Registry ekranına girin.
  • “HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\keyboard layouts ” bölümünü bulun.
  • Kayıt (Registry) menüsünden Kayıt dosyasını dışarı ver (Export Registry File) komutu ile bu bölümü bir dosya olarak kaydedin.
  • Sorun olmayan başka bir bilgisayardan aynı işlemi yapın.
  • Karşılaştırmak istiyorsanız bir metin editörü ile iki dosyayı açıp karşılaştırın. Muhtemelen kendi dosyanızdaki eksiği bulacaksınız.
  • Kayıt (Registry) menüsünden Kayıt dosyasını al (Import Registry File) komutu ile diğer bilgisayardan aldığınız dosyayı içeri alın.

Muhtemelen düzelmiş olacaktır.

Bilgisayarı açarken “Bu bilgisayar ağda zaten var (Duplicate name exists on the network)” hatasıyla karşılaşıyorsunuz. Fakat ağda sizinki ile aynı adda başka bir bilgisayar yok. Bilgisayarınıza ağdan ulaşmak isteyenler de ulaşamıyorlar.
Büyük bir ihtimalle bilgisayarınızın NetBIOS adında bir yanlışlık var. Bilgisayarınızın NetBIOS adını merak ediyorsanız, Bilgisayarım (My Computer) simgesine sağ tuşla tıklayarak Özellikler (Properties) penceresine girin. Bilgisayar Adı(Network Identification) sekmesine geçin. Değiştir (Properties) düğmesine tıklayın. Açılan pencerede Tümü(More) düğmesine tıklayın. Orada NetBIOS adının farklı olduğunu, hatta ağınızdaki başka bir bilgisayarın adının yazdığını göreceksiniz.
Sorunu düzeltmek için yine Registry’ye başvuralım. Regedit penceresine giriyoruz. Düzen-Bul(Edit-Find) menüsünü açıyoruz. Biraz önce gördüğümüz NetBIOS adını yazıyoruz. Karşımıza gelen tüm yerlerde (F3 ile aramaya devam ederek) düzeltip kendi bilgisayarımızın adını yazıyoruz.

Replikasyon işlemleri veritabanı güvenliği için en sık kullanılan yöntemlerden birisi… Ancak genelde SQL Server gibi çok kullanıcılı veritabanlarında kullanılıyor.

Replikasyon işleminde Asıl veritabanına Tasarım Şablonu (Design Master), kopyalanan veritabanına da Yineleme (Replica) deniliyor.
İhtiyacımız olması durumunda Access veritabanı ile de replikasyon yapabiliriz. Microsoft’un yardım sayfalarında bu işlemin nasıl yapılacağı anlatılıyor.

Daha sonra iki veritabanını birbiriyle senkronize etmek için ise, Araçlar (Tools) menüsünden Yineleme (Replication) alt menüsünü ve oradan da Şimdi Eşitle (Synchronize Now) seçeneğini kullanabiliriz.
Ya da istersek, veritabanımızın açılışı ya da kapanışı ile ilgili kod bölümlerine alttaki kodu ekleyebiliriz:

CurrentDb.Synchronize yinelemedosyasınınadı

Asıl sorun, eğitimi özel yazılımlar seviyesine indirgemek… Bugün Excel’i öğrettiğiniz öğrenci, iş hayatına atıldığında muhtemelen Excel ekranı çoktan değişmiş olacak.

Jakob Nielsen’in yazısı, okullarda bilgisayar öğretiminde asıl amacın hayat boyunca kullanılabilecek yetenekleri ve bilgileri öğretmek olması gerektiğini anlatıyor.

İşin zor tarafı, bu bilgilerin neler olduğunu belirlemek. Bir ilköğretim okulunda öğretilecek temel bilgisayar bilgileri neler olmalı? Bu soruyu on yıl önce sormuş olsaydık, cevaplarımız farklı olacaktı ama bugün ağırlıklı olarak Internet temelli yetenekleri ön plana çıkarıyoruz.

Yine de, bu listeyi oluşturmaya başlamakta fayda var. Belki de, katılımlarla daha kapsamlı sonuçlara ulaşırız.

Arama stratejileri

Internet’in düzensiz bilgi yığınında aradığını bulmak en zor işlerden biri haline geldi. Ama doğru yöntemleri kullandığınızda, istediğinize de ulaşıyorsunuz. (Tabii İngilizce’nin önemini unutmamak gerek.) Öğrencilere,

  • Aramak için kullanılacak anahtar kelimeleri doğru seçmeyi,
  • İlgisiz sonuçları eleyecek yöntemler kullanmayı,
  • Belirli bir konuda uzmanlaşmış arama motorları kullanmayı,
  • Arama sonuçlarının doğruluğunu değerlendirmeyi,
  • Farklı arama motorlarını kullanarak en doğru sonuçlara ulaşmayı,
  • Arama sistemlerinin ipuçlarını bulup kullanmayı

öğretmeliyiz.

Faydalanılabilecek kaynaklar:
http://www.google.com/intl/tr/help.html
http://www.musaulker.com/v1/wp-content/2006/04/biltec_googleda_etkili_arama_teknikleri.zip
http://tr.wikipedia.org/wiki/Vikipedi:Arama
http://searchenginewatch.com/showPage.html?page=facts

Güvenilir bilgi

Aslında bu kavram hayatımıza Internetle girdi. Biz bilgiyi ansiklopedilerden ve kaynak kitaplardan alır ve o bilgilere inanırdık. Ancak bugün, Internette bilgiyi yayınlamanın kolaylığı sebebiyle, uzman ya da değil bir çok kişinin hazırladığı kaynaklarla karşılaşıyoruz. Bunların doğruluğunu nasıl ayırt edeceğiz?

Öğrencilere,

  • Bilgiyi sorgulamayı, farklı yerlerden doğrulamayı,
  • En çok reklamı yapılan bilginin, en doğrusu olmadığını,
  • Reklamların mantığını, psikolojik temelini, reklam türlerini, hemen inanıp tıklamamayı,
  • Gerektiğinde basılı kaynakları kullanmayı

öğretmeliyiz.

Faydalanılabilecek kaynaklar:

http://www.ce.yildiz.edu.tr/mygetfile.php?id=395
http://tr.wikipedia.org/wiki/Vikipedi:Do%C4%9Frulanabilirlik
http://tr.wikipedia.org/wiki/Vikipedi:G%C3%BCvenilir_kaynaklar
http://www.aksiyon.com.tr/detay.php?id=26745
http://inet-tr.org.tr/inetconf7/bildiriler/39.doc
http://bloglar.drcetiner.com/egitim-ve-ogretim/google-genel-hizmet-reklam-sorulari-google-sorulari-ve-internet-kullanim-egilimleri.html

Doküman hazırlama

Öğrenciler ödev, sunum, tez, makale vb. sebeplerle sürekli olarak doküman hazırlama sorunuyla karşı karşıyalar. Wordün seçeneklerine bağlı kalmadan, onlara temel yazma ve düzenleme tekniklerini öğretmeliyiz. Web sayfası hazırlamak normal belge hazırlamaktan farklı olduğundan, web sayfası hazırlamanın temelleri de öğretilmeli.

Faydalanılabilecek kaynaklar:
http://www.egitim.com/ilkgenclik/0301/0301.1.dikkatedin.1.asp?BID=03
http://www.istegenc.com.tr/content/yasam/article.asp?lngArticleID=2970
http://fizikklb.uludag.edu.tr/web/wtas1.htm

Sunu hazırlama

Powerpoint vb. araçları kullanmak kolay olduğu için, bir çok öğrenci çabucak öğrenir. Ancak, karşısındakileri etkileyecek sunu hazırlama metotlarını bilmediklerinden, genelde amatör görünümlü düzensiz slaytlar yaparlar. Onlara, etkili sunu hazırlama tekniklerini öğretmeliyiz.

Faydalanılabilecek kaynaklar:
http://www.openoffice.gazi.edu.tr/impress/teknik.pdf
http://ab.org.tr/ab07/bildiri/205.doc
http://www.ensc.sfu.ca/grad/theses/tips/Effective_presentation.ppt
http://kinesiology.boisestate.edu/kines442/tips_for_making_effective_powerp.htm

Bilgisayar kullanımı ve sağlık

Daha önce detaylı olarak işlediğim gibi, bilgisayar kullananlarda RSI, CTS gibi hastalıklar fazlasıyla görülüyor. Çocuklara, öncelikle bilgisayar başında oturmayı, çalışmaya ara vermeyi vb. sağlık kurallarını öğretmeliyiz.

Faydalanılabilecek kaynaklar:
http://www.bilalakcay.com/wordpress/?p=487
http://www.sistems.org/ergomomi_bilinc_a.htm

Sorun çözme

Bilgisayarla ilgili temel sorun çözme teknikleri öğretildiğinde, öğrencilerin bilgisayar korkusu azalacak ve daha kolay alışacaklardır.
Mesela,

  • Bilgisayar kablolarının takılması,
  • Yazıcı, tarayıcı vb. çevre birimlerinin kullanılması, çalışmadığında sorunu bulma,
  • İşletim sistemi ya da program hatalarının Internette aranıp çözümlerinin bulunması,
  • Excelde formül hatalarını düzeltebilme

öğretilmesi gereken birkaç konu…

Faydalanılabilecek kaynaklar:
http://www.mtuncel.com/teknik.htm
http://www.turkcenet.org/
www.excel.web.tr

Arkadaşlarınıza, müşterilerinize doğum günlerinde otomatik olarak kutlama e-postası göndermek istiyorsunuz. Bu işlemi yapan ücretli-ücretsiz programlar var. Peki, sadece Outlook kullanarak bunu nasıl yapabilirsiniz?

Tüm Office ürünlerinde olduğu gibi, Outlook’ta da, arkaplanda VBA ile program yazarak bazı işlemleri yaptırabiliyoruz. Şimdi de bu yöntemi kullanacağız.

Önce Araçlar-Makro-Makrolar (Tools-Macro-Macros ) menüsünü açıyoruz. Makro adı olarak SendBirthdayMail veriyoruz. Oluştur (Create) düğmesine basıyoruz.

Açılan pencerede SendBirthdayMail prosedürünü alttaki kodla değiştiriyoruz.

Sub SendBirthdayMail()
 
   Dim objContactsFolder As Outlook.MAPIFolder
   Dim objContacts As Outlook.Items
   Dim objContact As Object
   Dim iCount As Integer
   Dim olItem As Outlook.ContactItem
 
   'Kişileri aç
   Set objContactsFolder = Session.GetDefaultFolder(olFolderContacts)
   Set objContacts = objContactsFolder.Items
 
   'Yeni bir mail oluştur
   Set objMsg = Application.CreateItem(olMailItem)
   objMsg.Subject = "Doğum Günün Kutlu Olsun" & Date
 
   objMsg.HTMLBody = " Nice Yıllara"
 
   'Dolaş. Uygun olanlara gönder
   For Each objContact In objContacts
      If TypeName(objContact) = "ContactItem" Then
         Set olItem = objContact
         If olItem.Birthday = Date Then
         
            'Email-1 adresi
            objMsg.To = olItem.Email1Address
            objMsg.Send
         End If
      End If
   Next
   
   'Değişkenleri temizle
   Set objMsg = Nothing
   Set objContact = Nothing
   Set objContacts = Nothing
   Set objContactsFolder = Nothing
 
End Sub

Bu makro çalıştırıldığı zaman, Kişiler (Contacts) listesinde bulunan ve doğum günü girilmiş olan kişiler kontrol edilecek ve doğum günü bugün olanlara e-posta gönderilecektir. Koddaki HTMLBody değişkenine göndereceğimiz mesajın içeriğini yazıyoruz.

Peki, eğer her sabah bilgisayarımızı ve Outlook’u yeniden açtığımızda bu makroyu çalıştırmasını istiyorsak…

O zaman, makroyu yazdığımız pencereyi kapatmıyoruz. Soldaki Project kısmında proje listesinde ThisOutlookSession yazan yere çift tıklayıp alttaki kodu ekliyoruz.

Private Sub Application_Startup()
     SendBirthdayMail
End Sub

Artık her gün doğum günü mesajları kendiliğinden gönderilecektir.

Eğer, Outlook’u ve bilgisayarı hiç kapatmıyorsak?
Üstte yazdığımız kod sadece açılışta çalıştığı için farklı bir yaklaşım getirmek durumundayız.
Şöyle çözeceğiz. Her gün sabah saat 09:00 için bir randevu ekliyoruz. Konu (Subject) kısmına Birthday yazıyoruz. Anımsatıcı (Reminder) seçeneğini işaretleyip O dakika (O minutes) olarak ayarlıyoruz.
Her gün aynı kontrolü yapması için randevuyu her gün tekrarlamasını istiyoruz. Pencerenin araç çubuğundaki Yinelenme (Recurrence) düğmesine tıklayıp gerekli ayarları yapıyoruz.

Araçlar-Makro-Visual Basic Düzenleyicisi (Tools-Macro-Visual Basic Editor) penceresini açıyoruz. Soldan ThisOutlookSession içine alttaki kodu ekliyoruz.

Dim WithEvents objReminders As Outlook.Reminders

' Hatırlatıcı çıktığında 
Private Sub Application_Reminder(ByVal Item As Object)
 If (TypeOf Item Is AppointmentItem) And (Item.Subject = "Birthday") Then
     SendBirthdayMail
 End If
End Sub
 
Private Sub Application_Startup()
    Set objReminders = Application.Reminders
End Sub

'Hatırlatıcıyı da işin bitince kapat 
Private Sub objReminders_ReminderFire(ByVal ReminderObject As Reminder)
  If ReminderObject.Item.Subject = "Birthday" Then
    ReminderObject.Dismiss
  End If
End Sub

Outlook açık da kalsa, her gün o saatte mailleri gönderecektir.