Excel Makro (VBA) Dersleri - 14: PowerPoint Otomasyonu

kusha · 01 Ağustos 2026 · 4 dk okuma

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.