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

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  .


Zencefil 2.7.53.0

Zencefil 2.7.53.0

Ginger ücretsiz bir yazım ve dilbilgisi denetleyicisidir.

Bloklar

Bloklar

Blocks, ilkokul 3. sınıf öğrencilerinin algılama ve göz becerilerini geliştirmeye yönelik entelektüel bir oyundur ve öğretmenler tarafından BT öğretim destek programına dahil edilmiştir.

Prezi 6.26

Prezi 6.26

Prezi, hem çevrimiçi hem de çevrimdışı dijital sunumlar oluşturmanıza olanak tanıyan ücretsiz bir uygulamadır.

Mathway

Mathway

Mathway, cihazınızın yerleşik hesap makinesinden daha karmaşık bir araç gerektiren tüm matematik problemlerini çözmenize yardımcı olabilecek çok kullanışlı bir uygulamadır.

Adobe Sunucusu

Adobe Sunucusu

Adobe Presenter, Microsoft Windows platformunda Microsoft PowerPoint eklentisi olarak sunulan, Adobe Systems tarafından yayımlanan bir e-Öğrenim yazılımıdır.

ENetViet 24.2

ENetViet 24.2

eNetViet, ebeveynlerin çocuklarının eğitim gördüğü okulla bağlantı kurmasına yardımcı olan ve böylece çocuklarının mevcut öğrenme durumunu net bir şekilde anlayabilmelerine yardımcı olan bir uygulamadır.

Duolingo

Duolingo

Duolingo - Ücretsiz Dil Öğrenin veya kısaca Duolingo, birçok farklı dili öğrenmenize ve pratik yapmanıza olanak tanıyan bir eğitim programıdır.

MathType 7.4.10.53

MathType 7.4.10.53

MathType, geliştirici Design Science'ın (Dessci) sunduğu etkileşimli bir denklem yazılımıdır ve kelime işlem, sunumlar, e-Öğrenim vb. için matematiksel gösterimler oluşturmanıza ve açıklama eklemenize olanak tanır. Bu düzenleyici aynı zamanda TeX, LaTeX ve MathML belgeleri oluşturmak için de kullanılır.

Dilbilgisi açısından

Dilbilgisi açısından

Grammarly'nin yapay zeka destekli uygulamaları insanların daha etkili iletişim kurmasına yardımcı oluyor. Milyonlarca kullanıcı mesajlarını, belgelerini ve sosyal medya gönderilerini daha net, hatasız ve daha profesyonel hale getirmek için her gün Grammarly'ye güveniyor.

Canlı çalışma sayfaları

Canlı çalışma sayfaları

Canlı çalışma sayfaları, öğrenciler için etkileşimli alıştırmalar oluşturmak için yararlı bir araçtır. Öğretmenler için kullanımı kolaydır ve öğrenmeyi daha eğlenceli ve ilgi çekici hale getirebilir.