Bagaimana cara membuat dan menyisipkan bentuk di PowerPoint dengan VBA?

Bagaimana cara membuat dan menyisipkan bentuk di PowerPoint dengan VBA?

Beberapa hari yang lalu, saya ingin mengotomatiskan tugas yang agak biasa untuk membuat beberapa slide PowerPoint. Saat mengotomatiskan PowerPoint, Anda biasanya bekerja dengan koleksi Slides and Shapes. Slide agak cukup jelas, dan bentuk hampir semuanya termasuk kotak teks, tombol tindakan, objek media, label, gambar, info, diagram alur, dan seterusnya dan seterusnya. Meskipun saya akan menampilkan teknik dengan PowerPoint, beberapa sintaks sebenarnya cukup berlaku untuk Microsoft Word dan Excel.

Sekadar rekap, sebelum Anda memulai pengembangan makro VBA di PowerPoint, Anda harus mengaktifkan tab pengembangan .

Pertama, mari kita mulai dengan membuat presentasi secara otomatis dengan beberapa slide seperti yang ditunjukkan dalam tutorial ini: membuat presentasi di VBA .

Sekarang kita bisa mulai bekerja dengan Shapes. Pertama, mari kita lanjutkan dan buka VBA Editor dengan menekan Alt+ F11. Jika Anda mengikuti tutorial sebelumnya, Anda harus memiliki modul 1 di daftar Modul Anda (seperti yang ditunjukkan di bawah)

Bekerja dengan Bentuk dengan VBA

Menambahkan kotak teks dengan VBA

Kita akan mulai dengan menambahkan kotak teks vertikal ke slide pertama kita dalam presentasi. Tambahkan kode berikut ke Module1, lalu lanjutkan dan tekan tombol Simpan (Ctrl+s) dan Jalankan makro Anda (tekan F5 atau tekan Run Sub/User Form).

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

Perhatikan bahwa Anda dapat mengubah ukuran dimensi kotak teks dengan cukup mudah dengan VBA. Dalam hal ini kita akan mengubah ukuran bentuk pertama di slide kedua, jangan ragu untuk memodifikasi sesuai kebutuhan.

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

Efek Teks dengan VBA

Sekarang mari kita asumsikan bahwa kita ingin menambahkan kotak teks ke semua slide dalam presentasi, kali ini sedikit lebih menarik secara visual. Untuk melakukannya, kita akan menggunakan VBA untuk membuat efek Teks kustom yang dapat kita sematkan ke dalam satu atau beberapa slide dalam presentasi. Pertama-tama kita akan mengulang slide presentasi dan kemudian menambahkan efek teks sesuai kebutuhan.

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

Ini hasilnya ;-):

Bagaimana cara membuat dan menyisipkan bentuk di PowerPoint dengan VBA?

Perhatikan bahwa Anda mungkin juga menggunakan tanda air sederhana untuk mencapai hasil spesifik ini.

Info PowerPoint dengan VBA

Contoh kami berikutnya adalah menambahkan info ke presentasi Anda. Dalam contoh ini kita akan menambahkan callout slide kedua.

Sub CreateCallout()

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

End Sub

Mengatur properti untuk suatu bentuk

Banyak properti pemformatan bentuk tidak diatur oleh properti yang berlaku langsung ke  objek Shape  atau  ShapeRange  . Sebaliknya, atribut bentuk terkait dikelompokkan dalam objek sekunder, seperti  objek FillFormat  , yang berisi semua properti yang berhubungan dengan isian bentuk, atau  objek LinkFormat  , yang berisi semua properti unik untuk objek OLE tertaut. Untuk mengatur properti bentuk, Anda harus terlebih dahulu mengembalikan objek yang mewakili kumpulan atribut bentuk terkait, lalu mengatur properti objek yang dikembalikan tersebut. Misalnya, Anda menggunakan  properti Isi  untuk mengembalikan  objek FillFormat  , lalu Anda menyetel  properti ForeColor  dari  objek FillFormat  untuk menyetel warna latar depan isian untuk bentuk yang ditentukan, seperti yang diperlihatkan dalam contoh berikut.

VB

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

Menerapkan properti atau metode ke beberapa bentuk secara bersamaan

Di antarmuka pengguna, ada beberapa operasi yang dapat Anda lakukan dengan beberapa bentuk yang dipilih; misalnya, Anda dapat memilih beberapa bentuk dan mengatur semua isiannya sekaligus. Ada operasi lain yang hanya dapat Anda lakukan dengan satu bentuk yang dipilih; misalnya, Anda hanya dapat mengedit teks dalam suatu bentuk jika satu bentuk dipilih.

Dalam Visual Basic, ada dua cara untuk menerapkan properti dan metode pada sekumpulan bentuk. Kedua cara ini memungkinkan Anda melakukan operasi apa pun yang dapat Anda lakukan pada satu bentuk pada rentang bentuk, baik Anda dapat melakukan operasi yang sama di antarmuka pengguna atau tidak.

  • Jika operasi ini berfungsi pada beberapa bentuk yang dipilih di antarmuka pengguna, Anda bisa melakukan operasi yang sama di Visual Basic dengan membuat  koleksi ShapeRange  yang berisi bentuk yang ingin Anda kerjakan, dan menerapkan properti dan metode yang sesuai secara langsung ke koleksi  ShapeRange  .

  • Jika operasi tidak bekerja pada beberapa bentuk yang dipilih di antarmuka pengguna, Anda masih dapat melakukan operasi dalam Visual Basic dengan mengulang melalui  koleksi Bentuk  atau melalui  koleksi ShapeRange  yang berisi bentuk yang ingin Anda kerjakan, dan menerapkan properti yang sesuai. dan metode ke masing-masing  objek Bentuk  dalam koleksi.

Banyak properti dan metode yang diterapkan pada  objek Shape  dan  koleksi ShapeRange  gagal jika diterapkan pada jenis bentuk tertentu. Misalnya,  properti TextFrame  gagal jika diterapkan pada bentuk yang tidak bisa berisi teks. Jika Anda tidak yakin bahwa setiap bentuk dalam  koleksi ShapeRange  dapat memiliki properti atau metode tertentu yang diterapkan padanya, jangan terapkan properti atau metode tersebut ke  koleksi ShapeRange  . Jika Anda ingin menerapkan salah satu properti atau metode ini ke kumpulan bentuk, Anda harus mengulang koleksi tersebut dan menguji masing-masing bentuk untuk memastikan jenis bentuknya sesuai sebelum menerapkan properti atau metode ke dalamnya.

Menerapkan properti atau metode ke koleksi ShapeRange

Jika Anda bisa melakukan operasi pada beberapa bentuk yang dipilih di antarmuka pengguna secara bersamaan, Anda bisa melakukan persamaan terprogram dengan membuat koleksi  ShapeRange  lalu menerapkan properti atau metode yang sesuai ke dalamnya. Contoh berikut membuat rentang bentuk yang berisi BentukOtomatis bernama "Bintang Besar" dan "Bintang Kecil" dan menerapkan isian gradien pada keduanya.myDocument

VB

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

Berikut ini adalah pedoman umum tentang bagaimana properti dan metode berperilaku ketika diterapkan pada  koleksi ShapeRange  .

  • Menerapkan metode pada koleksi sama dengan menerapkan metode pada masing-masing  objek Shape  dalam koleksi tersebut.

  • Menetapkan nilai properti koleksi setara dengan menetapkan nilai properti masing-masing bentuk dalam rentang tersebut.

  • Properti koleksi yang mengembalikan konstanta akan mengembalikan nilai properti untuk masing-masing bentuk dalam koleksi jika semua bentuk dalam koleksi memiliki nilai yang sama untuk properti tersebut. Jika tidak semua bentuk dalam koleksi memiliki nilai properti yang sama, ia akan mengembalikan konstanta "campuran".

  • Properti koleksi yang mengembalikan tipe data sederhana (seperti  LongSingle , atau  String ) mengembalikan nilai properti untuk bentuk individual jika semua bentuk dalam koleksi memiliki nilai yang sama untuk properti tersebut.

  • Nilai beberapa properti dapat dikembalikan atau ditetapkan hanya jika terdapat tepat satu bentuk dalam koleksi. Jika ada lebih dari satu bentuk dalam koleksi, terjadi kesalahan run-time. Hal ini umumnya terjadi untuk mengembalikan atau menyetel properti ketika tindakan setara di antarmuka pengguna hanya dimungkinkan dengan satu bentuk (tindakan seperti mengedit teks dalam bentuk atau mengedit titik bentuk bebas).

Pedoman sebelumnya juga berlaku ketika Anda mengatur properti bentuk yang dikelompokkan dalam objek sekunder koleksi  ShapeRange  , seperti  objek FillFormat  . Jika objek sekunder mewakili operasi yang dapat dilakukan pada beberapa objek yang dipilih di antarmuka pengguna, Anda akan dapat mengembalikan objek dari koleksi  ShapeRange  dan mengatur propertinya. Misalnya, Anda bisa menggunakan  properti Fill  untuk mengembalikan  objek FillFormat  yang mewakili isian semua bentuk dalam  koleksi ShapeRange  . Menyetel properti  objek FillFormat ini  akan menyetel properti yang sama untuk semua bentuk individual dalam  koleksi ShapeRange  .

Mengulang koleksi Bentuk atau ShapeRange

Bahkan jika Anda tidak dapat melakukan operasi pada beberapa bentuk di antarmuka pengguna secara bersamaan dengan memilihnya lalu menggunakan perintah, Anda dapat melakukan tindakan serupa secara terprogram dengan mengulang melalui koleksi  Bentuk  atau melalui  koleksi ShapeRange  yang berisi bentuk yang Anda ingin dikerjakan, dan menerapkan properti dan metode yang sesuai pada masing-masing  objek Shape  dalam koleksi. Contoh berikut mengulang semua bentuk dan menambahkan teks ke setiap bentuk yang merupakan BentukOtomatis. dan menambahkan teks ke setiap bentuk yang merupakan BentukOtomatis.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

Contoh berikut membuat  koleksi ShapeRange  yang berisi semua bentuk yang dipilih saat ini di jendela aktif dan menyetel teks di setiap bentuk dalam koleksi yang bisa berisi teks.

VB

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

Menyelaraskan, mendistribusikan, dan mengelompokkan bentuk dalam rentang bentuk

Gunakan  metode Align  dan  Distribute  untuk memposisikan sekumpulan bentuk relatif satu sama lain atau relatif terhadap dokumen yang memuatnya. Gunakan  metode Group  atau  metode Regroup  untuk membentuk satu bentuk yang dikelompokkan dari sekumpulan bentuk.


10 situs game teratas yang tidak diblokir di sekolah tahun 2024

10 situs game teratas yang tidak diblokir di sekolah tahun 2024

10 situs web game teratas yang tidak diblokir di sekolah tahun 2024. Temukan dunia game yang tidak diblokir dan nikmati permainan tanpa batasan.

[8 Solusi] Bagaimana Cara Memperbaiki Masalah DNS Pada Windows 10?

[8 Solusi] Bagaimana Cara Memperbaiki Masalah DNS Pada Windows 10?

Mendapatkan masalah DNS di komputer Windows 10? Ikuti perbaikan yang diberikan dalam artikel ini untuk memperbaiki masalah DNS paling umum yang dihadapi pengguna di komputer Windows 10.

7 Perbaikan Untuk Steam Tidak Dapat Menyinkronkan File Anda

7 Perbaikan Untuk Steam Tidak Dapat Menyinkronkan File Anda

Pelajari cara memperbaiki Steam tidak dapat menyinkronkan file Anda. Hapus folder data pengguna, hapus ClientRegistry.blob, verifikasi integritas file game, dan banyak lagi.

Memperbaiki Error Missing or Failed Printhead pada Printer HP [8 Trik]

Memperbaiki Error Missing or Failed Printhead pada Printer HP [8 Trik]

Dapatkan detail lengkap tentang Kesalahan Printhead yang Hilang Atau Gagal. Coba perbaikan terbaik untuk mengatasi HP Officejet hilang atau gagal Printhead error.

Perbaiki URL yang Diminta Ditolak: Silakan Konsultasikan dengan Administrator

Perbaiki URL yang Diminta Ditolak: Silakan Konsultasikan dengan Administrator

Baca artikel untuk memperbaiki URL yang diminta ditolak. Silakan berkonsultasi dengan administrator, kesalahan browser dan buka halaman web yang diperlukan dengan mudah

8 Perbaikan Terbaik untuk Masalah PS5 Tidak Akan Terhubung ke Wi-Fi

8 Perbaikan Terbaik untuk Masalah PS5 Tidak Akan Terhubung ke Wi-Fi

Jika Anda menghadapi masalah PS5 tidak akan terhubung ke Wi-Fi, artikel ini memberikan solusi yang efektif untuk masalah tersebut.

24 Kode Kesalahan Aktivasi Windows 10 Paling Umum dan Perbaikannya [DIPERBARUI]

24 Kode Kesalahan Aktivasi Windows 10 Paling Umum dan Perbaikannya [DIPERBARUI]

Pelajari cara memperbaiki kesalahan aktivasi Windows 10 saat mengaktifkan Windows 10, juga cara membeli kunci produk & memperbaiki kesalahan aktivasi terkait kunci produk sepenuhnya…

Perbaiki PS5 Tidak Dapat Memuat Sesuatu yang Salah dengan 5 Cara Mudah

Perbaiki PS5 Tidak Dapat Memuat Sesuatu yang Salah dengan 5 Cara Mudah

Baca artikel untuk memperbaiki PS5 tidak dapat memuat kesalahan konten. Temukan solusi yang efektif untuk mengatasi masalah ini dengan langkah-langkah yang jelas.

[Memperbaiki] Game Resident Evil 7 Biohazard Crash, Error & Lainnya!

[Memperbaiki] Game Resident Evil 7 Biohazard Crash, Error & Lainnya!

Tidak dapat melakukan Streaming Game Resident Evil 7 kemudian ikuti panduan langkah demi langkah untuk menyelesaikan kesalahan game dan mainkan game tanpa gangguan.

2 Trik Untuk Menghapus Folder $WINDOWS.~BT dan $WINDOWS.~WS Di Windows 10

2 Trik Untuk Menghapus Folder $WINDOWS.~BT dan $WINDOWS.~WS Di Windows 10

Pelajari cara mudah menghapus folder $WINDOWS.~BT dan $WINDOWS.~WS di Windows 10 dengan trik efektif ini. Cobalah sekarang dan optimalkan kinerja PC Anda.