VBA ile PowerPointte şekiller nasıl oluşturulur ve eklenir?

Birkaç gün önce, bazı PowerPoint slaytları oluşturma gibi oldukça sıradan bir işi otomatikleştirmek istedim. PowerPoint'i otomatikleştirirken, genellikle Slaytlar ve Şekiller koleksiyonuyla çalışırsınız. Slaytlar oldukça açıklayıcıdır ve şekiller, metin kutuları, eylem düğmeleri, medya nesneleri, etiketler, resimler, belirtme çizgileri, akış çizelgeleri vb. dahil olmak üzere hemen hemen her şeydir. Teknikleri PowerPoint ile sergileyecek olsam da, sözdiziminin bir kısmı aslında Microsoft Word ve Excel için oldukça uygulanabilir.

Özetlemek gerekirse, PowerPoint'te VBA makro geliştirmeye başlamadan önce geliştirme sekmenizin etkinleştirilmesi gerekir .

İlk olarak, bu eğitimde gösterildiği gibi bazı slaytlarla otomatik olarak bir sunum oluşturarak başlayalım: VBA'da bir sunum oluşturma .

Artık Shapes ile çalışmaya başlayabiliriz. İlk olarak, devam edelim ve Alt+ F11 tuşlarına basarak VBA Düzenleyicisini açalım. Bir önceki öğreticiyi izlediyseniz, Modüller listenizde modül 1 olmalıdır (aşağıda gösterildiği gibi)

VBA ile Şekillerle Çalışmak

VBA ile metin kutusu ekleme

Sunudaki ilk slaydımıza dikey bir metin kutusu ekleyerek başlayacağız. Modül1'e aşağıdaki kodu ekleyin, ardından devam edin ve Kaydet düğmesine (Ctrl+s) basın ve makronuzu çalıştırın (F5'e basın veya Alt/Kullanıcı Formunu Çalıştır'a basın).

Sub CreateTextBox()
Set MySlide = ActivePresentation.Slides(2)

    With MySlide.Shapes
        .AddTextbox(Orientation:=msoTextOrientationVertical, _
         Left:=90, Top:=200, Width:=80, _
         Height:=200).TextFrame.TextRange.Text _
        = ("This is my vertical text box")

End With

End Sub

VBA ile metin kutusu boyutlarınızı oldukça kolay bir şekilde yeniden boyutlandırabileceğinizi unutmayın. Bu durumda, ikinci slayttaki ilk şekli yeniden boyutlandıracağız, gerektiğinde değiştirmekten çekinmeyin.

Sub ResizeText()
Set MyShape = ActivePresentation.Slides(2).Shapes(1)

'Add your required dimensions as needed below
   With MyShape
         .Width = 200
         .Height = 35

End With
End Sub

VBA ile Metin Efektleri

Şimdi, sunumdaki tüm slaytlara bu sefer görsel olarak biraz daha çekici bir metin kutusu eklemek istediğimizi varsayalım. Bunu yapmak için, sunumdaki bir veya daha fazla slayda gömebileceğimiz özel Metin efektleri oluşturmak için VBA kullanacağız. Önce sunum slaytları arasında dolaşacağız ve ardından gerektiği gibi metin efektini ekleyeceğiz.

Sub SetEffects()

Dim i As Integer

For i = 1 To ActivePresentation.Slides.Count
    ActivePresentation.Slides(i) _
    .Shapes.AddTextEffect msoTextEffect12, "Draft for Review", _
    "Segoe UI", 32, msoTrue, msoTrue, 650, 50
Next

End Sub

İşte sonuç ;-):

VBA ile PowerPoint'te şekiller nasıl oluşturulur ve eklenir?

Bu özel sonucu elde etmek için basit bir filigran da kullanabileceğinizi unutmayın.

VBA ile PowerPoint açıklamaları

Bir sonraki örneğimiz, sunumunuza belirtme çizgileri eklemek olacaktır. Bu örnekte, ikinci slayda bir belirtme çizgisi ekleyeceğiz.

Sub CreateCallout()

ActivePresentation.Slides(2).Shapes.AddCallout(Type:=msoCalloutTwo, Left:=200, Top:=50, _  Width:=300, Height:=100).TextFrame.TextRange.Text = "My Callout"

End Sub

Bir şeklin özelliklerini ayarlama

Şekillerin çoğu biçimlendirme özelliği, doğrudan Shape  veya  ShapeRange nesnesine uygulanan özellikler tarafından ayarlanmaz   .  Bunun yerine, ilgili şekil nitelikleri , şeklin dolgusuyla ilgili tüm özellikleri içeren  FillFormat nesnesi veya  bağlantılı OLE nesnelerine özgü tüm özellikleri içeren LinkFormat nesnesi gibi ikincil nesneler altında gruplandırılır  . Bir şeklin özelliklerini ayarlamak için, önce ilgili şekil nitelikleri kümesini temsil eden nesneyi döndürmeniz, ardından döndürülen nesnenin özelliklerini ayarlamanız gerekir. Örneğin,  FillFormat nesnesini  döndürmek için  Fill özelliğini kullanırsınız ve  aşağıdaki örnekte gösterildiği gibi, belirtilen şeklin dolgu ön plan rengini ayarlamak için FillFormat nesnesinin ForeColor  özelliğini   ayarlarsınız  .

VB

Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes(1).Fill.ForeColor.RGB = RGB(255, 0, 0)

Bir özelliği veya yöntemi aynı anda birden fazla şekle uygulama

Kullanıcı arayüzünde seçilen çeşitli şekillerle gerçekleştirebileceğiniz bazı işlemler vardır; örneğin, birkaç şekli seçebilir ve bunların tüm bireysel dolgularını aynı anda ayarlayabilirsiniz. Yalnızca tek bir şekil seçiliyken gerçekleştirebileceğiniz başka işlemler de vardır; örneğin, bir şekildeki metni yalnızca tek bir şekil seçiliyse düzenleyebilirsiniz.

Visual Basic'te özellikleri ve yöntemleri bir dizi şekle uygulamanın iki yolu vardır. Bu iki yol, aynı işlemi kullanıcı arayüzünde gerçekleştirip gerçekleştiremeseniz de, tek bir şekil üzerinde gerçekleştirebileceğiniz herhangi bir işlemi çeşitli şekillerde gerçekleştirmenize olanak tanır.

  •  İşlem, kullanıcı arabiriminde seçilen birden çok şekil üzerinde çalışıyorsa, aynı işlemi Visual Basic'te , çalışmak istediğiniz şekilleri içeren  bir ShapeRange koleksiyonu oluşturarak ve uygun özellikleri ve yöntemleri doğrudan ShapeRange koleksiyonuna uygulayarak gerçekleştirebilirsiniz   .

  • İşlem, kullanıcı arabiriminde seçilen birden çok şekil üzerinde çalışmıyorsa, Visual Basic'te, Shapes koleksiyonunda  veya  çalışmak   istediğiniz şekilleri içeren ShapeRange koleksiyonunda döngü yaparak ve uygun özellikleri uygulayarak işlemi yine de gerçekleştirebilirsiniz. ve  koleksiyondaki bireysel  Shape nesnelerine yönelik yöntemler.

Shape  nesnesine ve  ShapeRange koleksiyonuna uygulanan birçok özellik ve yöntem,   belirli türdeki şekillere uygulandığında başarısız olur. Örneğin  TextFrame  özelliği, metin içeremeyen bir şekle uygulandığında başarısız olur. ShapeRange  koleksiyonundaki her şekle belirli bir özelliğin veya yöntemin uygulanabileceğinden  emin değilseniz  , özelliği veya yöntemi ShapeRange  koleksiyonuna uygulamayın. Bu özelliklerden veya yöntemlerden birini bir şekil koleksiyonuna uygulamak istiyorsanız, özelliği veya yöntemi uygulamadan önce koleksiyonda döngü yapmalı ve her bir şekli test ederek bunun uygun bir şekil türü olduğundan emin olmalısınız.

ShapeRange koleksiyonuna özellik veya yöntem uygulama

Kullanıcı arayüzünde seçilen birden fazla şekil üzerinde aynı anda bir işlem gerçekleştirebiliyorsanız, bir  ShapeRange  koleksiyonu oluşturarak ve ardından buna uygun özellikleri veya yöntemleri uygulayarak programatik eşdeğerini yapabilirsiniz. Aşağıdaki örnek, "Büyük Yıldız" ve "Küçük Yıldız" adlı Otomatik Şekilleri içeren bir şekil aralığı oluşturur ve bunlara bir degrade dolgu uygular ve bunlara bir degrade dolgu uygular.myDocument

VB

Set myDocument = ActivePresentation.Slides(1) 
Set myRange = myDocument.Shapes _ 
    .Range(Array("Big Star", "Little Star")) 
myRange.Fill.PresetGradient msoGradientHorizontal, _ 
    1, msoGradientBrass

Aşağıda, özelliklerin ve yöntemlerin bir ShapeRange koleksiyonuna uygulandığında nasıl davrandığına ilişkin genel yönergeler yer almaktadır   .

  • Koleksiyona bir yöntem uygulamak, yöntemi   o koleksiyondaki her bir Shape nesnesine uygulamaya eşdeğerdir.

  • Koleksiyonun bir özelliğinin değerini ayarlamak, o aralıktaki her bir şeklin özelliğinin değerini ayarlamakla eşdeğerdir.

  • Koleksiyonun bir sabit döndüren özelliği, koleksiyondaki tüm şekillerin o özellik için aynı değere sahip olması durumunda, koleksiyondaki tek bir şeklin özelliğinin değerini döndürür. Koleksiyondaki tüm şekiller özellik için aynı değere sahip değilse "karışık" sabiti döndürür.

  • Basit bir veri türü ( LongSingle veya  String gibi) döndüren koleksiyonun bir özelliği,  koleksiyondaki tüm şekillerin o özellik için aynı değere sahip olması durumunda, tek bir şeklin özelliğinin değerini döndürür.

  • Bazı özelliklerin değeri yalnızca koleksiyonda tam olarak bir şekil varsa döndürülebilir veya ayarlanabilir. Koleksiyonda birden fazla şekil varsa çalışma zamanı hatası oluşur. Bu genellikle, kullanıcı arayüzündeki eşdeğer eylemin yalnızca tek bir şekille (bir şekildeki metni düzenlemek veya serbest bir biçimin noktalarını düzenlemek gibi eylemler) mümkün olduğu durumlarda, özelliklerin döndürülmesi veya ayarlanması durumunda geçerlidir.

Önceki yönergeler, ShapeRange koleksiyonunun FillFormat nesnesi  gibi  ikincil nesneleri altında gruplandırılan şekillerin özelliklerini ayarlarken de geçerlidir   . İkincil nesne, kullanıcı arayüzünde birden fazla seçili nesne üzerinde gerçekleştirilebilecek işlemleri temsil ediyorsa, nesneyi ShapeRange koleksiyonundan döndürebilir   ve özelliklerini ayarlayabilirsiniz. Örneğin, ShapeRange  koleksiyonundaki tüm şekillerin dolgularını temsil eden  FillFormat nesnesini  döndürmek için  Fill özelliğini kullanabilirsiniz   . Bu FillFormat nesnesinin özelliklerinin ayarlanması,  ShapeRange  koleksiyonundaki tüm ayrı şekiller için aynı özelliklerin ayarlanmasına neden olur   .

Shapes veya ShapeRange koleksiyonunda döngü yapma

Kullanıcı arayüzündeki çeşitli şekiller üzerinde aynı anda bunları seçip bir komut kullanarak bir işlem gerçekleştiremeseniz bile, eşdeğer eylemi Shapes  koleksiyonunda veya   oluşturduğunuz şekilleri içeren bir ShapeRange koleksiyonunda döngü yaparak programlı olarak gerçekleştirebilirsiniz.   Koleksiyondaki tek tek Shape nesneleri ile çalışmak ve uygun özellikleri ve yöntemleri uygulamak istiyorsunuz  . Aşağıdaki örnek, tüm şekiller arasında döngü yapar ve Otomatik Şekil olan her şekle metin ekler. ve Otomatik Şekil olan her şekle metin ekler.myDocument

VB

Set myDocument = ActivePresentation.Slides(1) 
For Each sh In myDocument.Shapes 
    If sh.Type = msoAutoShape Then 
        sh.TextFrame.TextRange.InsertAfter " (version 1)" 
    End If 
Next

Aşağıdaki örnek,  etkin pencerede seçili olan tüm şekilleri içeren ShapeRange  koleksiyonunu oluşturur ve koleksiyondaki metin içerebilecek her şekildeki metni ayarlar.

VB

For Each sh in ActiveWindow.Selection.ShapeRange
    If sh.HasTextFrame Then
        sh.TextFrame.TextRange = "Initially selected"
    End If
Next

Şekilleri bir şekil aralığında hizalama, dağıtma ve gruplandırma

 Bir şekil kümesini birbirine göre veya bunları içeren belgeye göre konumlandırmak için Hizala  ve  Dağıt yöntemlerini kullanın  .  Bir şekil kümesinden gruplandırılmış tek bir şekil oluşturmak için Grup  yöntemini veya  Yeniden Gruplandırma yöntemini kullanın  .

Yorum bırak

Teknoloji Girişimleri İçin Minimalist Yatırımcı Sunumu PowerPoint Şablonu: Pratik 12 Slaytlık Bir Taslak

Teknoloji Girişimleri İçin Minimalist Yatırımcı Sunumu PowerPoint Şablonu: Pratik 12 Slaytlık Bir Taslak

Teknoloji girişimleri için pratik 12 slaytlık bir yapı kullanarak PowerPoint'te minimalist bir yatırımcı sunumu oluşturun; kanıtlar, metrikler, fon toplama iddiaları ve yeniden kullanılabilir .potx şablonları hakkında rehberlik.

Modern Gayrimenkul İlan Sunumu PowerPoint Şablonu Ücretsiz: Pratik Bir Satıcı Sunum Planı

Modern Gayrimenkul İlan Sunumu PowerPoint Şablonu Ücretsiz: Pratik Bir Satıcı Sunum Planı

Ücretsiz slayt planı, doğrulanmış şablon ipuçları, CMA uyarıları, fotoğraf hakları kontrolleri ve Adil Konut korumaları ile PowerPoint'te modern bir gayrimenkul ilan sunumu oluşturun.

HubSpot Ücretsiz CRM vs. Zoho CRM: 2026'da Tek Başına Çalışan Gayrimenkul Danışmanları İçin En İyi Seçim

HubSpot Ücretsiz CRM vs. Zoho CRM: 2026'da Tek Başına Çalışan Gayrimenkul Danışmanları İçin En İyi Seçim

Tek başına çalışan gayrimenkul danışmanları için HubSpot Ücretsiz CRM ve Zoho CRM'i karşılaştırın; kişiler, satış hunileri, otomasyon, özelleştirme, randevu planlama, sınırlar ve yükseltme tetikleyicileri dahil.

Windows'ta PowerPoint Ekran Kaydı Sesinin Çalışmaması Sorunu Nasıl Giderilir

Windows'ta PowerPoint Ekran Kaydı Sesinin Çalışmaması Sorunu Nasıl Giderilir

Sessiz PowerPoint ekran kayıtlarını düzeltmek için Ses denetimini, Windows mikrofon izinlerini, etkin giriş aygıtını, sistem sesi beklentilerini ve Office güncellemelerini kontrol edin.

Evden Çalışan Profesyoneller İçin Yazdırılabilir Günlük Zaman Bloklama Şablonu PDF: Başlangıç Rehberi

Evden Çalışan Profesyoneller İçin Yazdırılabilir Günlük Zaman Bloklama Şablonu PDF: Başlangıç Rehberi

Odaklı evden çalışma saatlerini, toplantıları, molaları, idari görevleri ve gerçekçi tampon sürelerini planlamak için yazdırılabilir günlük zaman bloklama şablonu PDF'ini kullanın; gününüzü aşırı doldurmadan verimli bir şekilde yönetin.

Agile Ekipler İçin Ücretsiz Proje Durum Raporu Sunum Şablonu

Agile Ekipler İçin Ücretsiz Proje Durum Raporu Sunum Şablonu

Sprint hedefleri, sonuçlar, riskler, kalite sinyalleri, kararlar ve sonraki adımlarla özlü bir Agile proje durum raporu sunumu oluşturun; sunumu bir backlog yığınına dönüştürmeden.

ABD'li Serbest Çalışanlar İçin Bağımsız Yüklenici Gider Takip Şablonu: 2026 Pratik Referans

ABD'li Serbest Çalışanlar İçin Bağımsız Yüklenici Gider Takip Şablonu: 2026 Pratik Referans

ABD'li yükleniciler için 2026 gider takip referansı ile serbest meslek iş giderlerini, fişleri, kilometreleri ve Schedule C kategorilerini takip edin.

Kâr Amacı Gütmeyen Kuruluş Yıllık Raporu PowerPoint Şablonu Ücretsiz İndirme: Pratik Slayt Rehberi

Kâr Amacı Gütmeyen Kuruluş Yıllık Raporu PowerPoint Şablonu Ücretsiz İndirme: Pratik Slayt Rehberi

Ücretsiz bir kâr amacı gütmeyen kuruluş yıllık raporu PowerPoint başlangıç noktasını, pratik bir slayt yapısını, finansal kontrol listesini, etki metriklerini, erişilebilirlik ipuçlarını ve özelleştirme rehberliğini bulun.

Excel için Ücretsiz Aylık Fatura Takvimi Düzenleyici Şablonu: Son Tarihleri Takip Etmenin Basit Yolu

Excel için Ücretsiz Aylık Fatura Takvimi Düzenleyici Şablonu: Son Tarihleri Takip Etmenin Basit Yolu

Aylık takvim, fatura listesi, durum takibi, SUMIFS toplamları ve son tarih vurgulaması ile Excel'de tekrarlayan faturaları düzenleyin. Pratik bir örnek içerir.

Ücretsiz Kiralık Mülk Gider ve Gelir Takipçisi Excel Şablonu: Yeni Başlayanlar İçin Kolay Kurulum

Ücretsiz Kiralık Mülk Gider ve Gelir Takipçisi Excel Şablonu: Yeni Başlayanlar İçin Kolay Kurulum

Mülk bazlı kayıtlar, Schedule E uyumlu kategoriler, nakit akışı takibi, makbuzlar ve 2026 kilometre güncellemeleri ile Excel'de ücretsiz bir kiralık mülk gelir ve gider takipçisi oluşturun.