Outlook'ta olduğu gibi, VBA'dan CreateObject ile PowerPoint'i de kontrol edebilirsiniz — Excel'deki verilerinizden otomatik sunum veya belge üretmek için kullanışlıdır.
PowerPoint Nesnesi Oluşturmak
Dim pptApp As Object
Dim pptPres As Object
Set pptApp = CreateObject("PowerPoint.Application")
Set pptPres = pptApp.Presentations.Add
pptApp.Visible = True
Bir Slayt Eklemek ve İçerik Yazdırmak
Dim slayt As Object
Set slayt = pptPres.Slides.Add(1, 1) ' 1 = Başlık düzeni
slayt.Shapes(1).TextFrame.TextRange.Text = "Merhaba " & isim
slayt.Shapes(2).TextFrame.TextRange.Text = "Bilgilendirme mesajınız"
Excel Verisinden Toplu Slayt/Belge Üretmek
Önceki PDF örneğindeki mantığın aynısını burada da kurabilirsiniz: bir For döngüsüyle Excel listesindeki her satır için yeni bir slayt/sunum oluşturup, verileri yazdırıp, gerekirse PDF olarak dışa aktarabilirsiniz:
pptPres.ExportAsFixedFormat _
Path:="C:\Hedefler\" & isim & ".pdf", _
FixedFormatType:=2 ' 2 = ppFixedFormatTypePDF
Neden Bu Yaklaşım Değerli?
Bu üç ders (PDF, Outlook, PowerPoint otomasyonu) aynı temel fikri farklı uygulamalara uygular: Excel'i bir veri kaynağı, VBA'yı da bu veriyi başka Office uygulamalarına aktaran bir köprü olarak kullanmak. Bu mantığı kavradığınızda, Word belgesi üretme, takvime toplu etkinlik ekleme gibi benzer otomasyonları da kendi başınıza kurabilirsiniz.
Sırada Ne Var?
Sırada, kayıt formumuza dönüp, form her açıldığında otomatik veri getirme ve e-posta oluşturma özelliği ekleyeceğiz.