Presentasi interaktif PowerPoint Supercharging dengan VBA (Bagian 1)

Presentasi interaktif

PowerPoint telah berkembang menjadi aplikasi yang merupakan pisau penciptaan konten Tentara Swiss, tidak hanya untuk presentasi, tetapi juga mencetak jaminan, video, dan bahkan presentasi interaktif.

Bayangkan Anda harus menggunakan file yang berisi semua slide yang mungkin dapat Anda presentasikan kepada audiens Anda mengetahui bahwa Anda hanya akan menyajikan sebagian kecil dari mereka pada satu waktu. Di situlah presentasi interaktif dapat menjadi tambahan yang kuat untuk gudang presentasi Anda. Ini seperti mengunjungi situs web dan hanya mengklik halaman yang Anda minati daripada mengunjungi setiap halaman. Presentasi interaktif memberi Anda kemampuan untuk bereaksi cepat terhadap audiens Anda dengan melompati konten Anda secara langsung alih-alih mengatakan: “Saya akan membahasnya nanti” dan kemudian lupa!

Elemen interaktivitas menyediakan presenter dengan kemampuan untuk mengklik objek pada slide mereka yang kemudian membawanya ke lokasi tertentu dalam presentasi.

Presentasi interaktif: Dasar-dasarnya

Saya akan menggunakan contoh dasar seperti slide di bawah ini untuk menunjukkan kepada Anda cara menambahkan interaktivitas ke presentasi Anda. Ada menu di sisi kiri slide yang kami buat dengan berbagai bentuk. Katakanlah Anda ingin menggunakan ini untuk memberi presenter kemampuan untuk melompat ke slide berikutnya atau sebelumnya:

slide dasar tanpa hyperlink

Hal pertama yang perlu Anda lakukan adalah memilih objek yang ingin Anda jadikan interaktif:

Tangkapan layar presentasi presentasi interaktif SuperCarged BrightCarbon VBA 1b

Anda kemudian perlu menautkannya ke slide lain. Fungsionalitas yang diperlukan untuk mencapai tautannya sederhana dan memanfaatkan fitur PowerPoint yang sudah lama disebut Tindakan . Anda dapat menemukan fitur ini di tab Sisipkan pita PowerPoint:

Pita PowerPoint dengan tab Tindakan dipilih

Ketika Anda mengklik tombol Action , Anda mendapatkan sejumlah besar opsi dalam dua tab seperti yang Anda lihat:

Tangkapan layar presentasi presentasi interaktif SuperCarged BrightCarbon VBA 2b

Tab ini memungkinkan Anda untuk link ditetapkan untuk salah satu atau kedua dari dua tindakan mouse, mouse Klik dan mouse Selama (atau ‘mouse hover’).

Yang mungkin paling sering Anda gunakan adalah Mouse Klik dan Anda dapat menggunakan Hyperlink untuk tarik turun untuk menautkan ke salah satu dari beberapa opsi navigasi bawaan:

Tangkapan layar presentasi interaktif BrightCarbon VBA supercharged 3

Sekali lagi, yang mungkin akan Anda gunakan saat membuat presentasi interaktif adalah Slide Berikutnya , Slide Sebelumnya dan Slide … di mana Anda dapat memilih slide spesifik untuk ditautkan.

Setelah Anda menambahkan tindakan ke objek Anda, Anda dapat mengkliknya dalam mode tayangan slide dan itu akan membawa Anda ke slide atau konten apa pun yang Anda pilih untuk ditautkan.

Tantangan Animasi

Salah satu aspek membuat presentasi interaktif adalah bahwa jika Anda menggabungkan teknik tindakan di atas dengan animasi, animasi tidak diatur ulang secara otomatis ketika Anda kembali ke slide yang telah disajikan. Ini mungkin menjadi masalah jika Anda ingin memutar ulang urutan animasi atau jika Anda telah menggunakan pemicu animasi untuk menampilkan dan menyembunyikan menu Anda. Dalam kasus selanjutnya, menu akan tetap di layar ketika Anda kembali ke slide yang disajikan sebelumnya dan itu berarti presenter harus menghabiskan waktu menyembunyikannya lagi.

Jadi, apa yang dapat Anda lakukan tentang ini?

Teknik 1: Duplikat Slide

Ada teknik non-VBA asli yang dapat Anda gunakan yaitu untuk membuat duplikat slide tanpa animasi dan mengaturnya untuk secara otomatis beralih ke slide berikutnya pada nol detik seperti yang terlihat di kanan atas pita di sini:

Tangkapan layar presentasi interaktif BrightCarbon VBA supercharged 4

Anda kemudian mengubah hyperlink tindakan untuk mengarahkan ke slide duplikat ini alih-alih dengan animasi. Ini memaksa animasi pada slide yang ingin Anda tampilkan untuk mengatur ulang.

Teknik 2: VBA Magic

Tantangan dengan teknik di atas adalah bahwa Anda sekarang harus mempertahankan dua salinan dari setiap slide dalam presentasi dan kedua, ingatlah untuk mengatur tautan ke slide transisi otomatis, bukan slide yang akan Anda sajikan. Ini dapat membuat presentasi interaktif Anda menjadi file yang jauh lebih rumit dengan lebih banyak slide daripada yang benar-benar diperlukan, kemudian membuatnya lebih sulit untuk dipelihara.

Anda dapat menghindari keharusan melakukan ini dengan menambahkan beberapa makro VBA ke proyek kami. Jika Anda tidak terbiasa dengan cara menambahkan VBA ke presentasi Anda, lihat artikel blog kami yang menunjukkan kepada Anda cara melakukannya.

Anda akan membuat dua makro VBA untuk pergi ke slide berikutnya dan slide sebelumnya, yang keduanya akan mengatur ulang animasi pada slide target. Kode lengkap tersedia di akhir artikel ini.

Berikut adalah kode VBA untuk slide makro berikutnya:

Public Sub NextSlide(ByRef oShp As Shape)
Dim oSld As Slide
Set oSld = oShp.Parent
lIdx = oSld.SlideIndex + 1
If lIdx = ActivePresentation.Slides.Count Then lIdx = 1
SlideShowWindows(1).View.GotoSlide lIdx, msoTrue
End Sub

Setelah Anda memiliki kode ini di proyek kami, Anda dapat kembali ke dialog Sisipkan / Tindakan dan ubah tindakan klik mouse untuk menjalankan makro khusus kami:

Tangkapan layar presentasi interaktif BrightCarbon VBA supercharged 5

Bagaimana cara kerjanya?

Baris pembukaan makro meneruskan bentuk yang Anda klik ke makro:

Public Sub NextSlide (ByRef oShp As Shape)

Ini memungkinkan kami untuk menentukan slide mana yang Anda pakai dengan menetapkan referensi ke objek induk shape, yang merupakan slide:

Set oSld = oShp.Parent

Anda sekarang dapat mengetahui apa indeks slide untuk slide ini dan menambahkannya dengan satu:

lIdx = oSld.SlideIndex + 1

Anda perlu menangani apa yang terjadi jika Anda berada di slide terakhir dan Anda memilih untuk menautkan kembali ke slide pertama dalam hal ini:

Jika lIdx = ActivePresentation.Slides.Count Kemudian lIdx = 1

Langkah terakhir adalah memberi tahu PowerPoint untuk membuka slide ini:

SlideShowWindows (1) .View.GotoSlide lIdx, msoTrue

Bagian ajaib dari ini adalah msoTrue kecil di ujung baris. Metode GotoSlide (anggap metode sebagai kata kerja tindakan) membutuhkan dua argumen. Yang pertama adalah indeks slide yang ingin Anda tuju dan yang kedua adalah opsi boolean untuk memberi tahu PowerPoint untuk mengatur ulang animasi untuk slide itu, atau tidak.

Sekarang ketika Anda mengklik objek apa pun yang memiliki makro ini ditugaskan untuk tindakan Klik Mouse, tampilan slide akan pergi ke slide itu dan mengatur ulang animasi.

Hal terakhir yang harus dilakukan dengan presentasi interaktif Anda adalah menyimpan file pptx sebagai file pptm. ‘M’ adalah singkatan dari presentasi yang diaktifkan makro. Jika organisasi Anda memiliki sertifikat penandatanganan kode, Anda dapat secara opsional menandatangani proyek VBA Anda untuk meminimalkan peringatan keamanan dan ini adalah sesuatu yang kami lakukan sebagai standar di BrightCarbon. Jika Anda tidak melakukan ini, Anda harus memastikan bahwa macro diaktifkan dengan mengklik File / Options / Trust Center / Trust Center Settings / Macro Security : Pengaturan BrightCarbon PowerPoint Trust Center untuk Macro

Sekarang Anda tahu cara menggunakan VBA saat membuat presentasi interaktif, lihat posting saya tentang mengembalikan tata letak master slide default dengan VBA. atau temukan layanan Klik-dan-Jelajahi kami untuk mengetahui bagaimana kami dapat membantu membuat presentasi interaktif Anda yang dirancang dengan indah berikutnya.


Kode lengkap untuk makro Animasi Berikutnya, Sebelumnya dan Reset

Anda dapat menyalin dan menempelkan kode lengkap dari bawah ke proyek VBA Anda. Makro PreviousSlide berfungsi seperti yang NextSlide dengan sedikit penyesuaian untuk loop ke slide terakhir jika Anda berada di slide pertama.

Ada juga makro ResetCurrentSlide yang lebih sederhana yang dapat Anda tetapkan untuk bentuk apa pun pada slide atau master slide atau tata letak yang hanya mengatur ulang animasi untuk slide saat ini.

Option Explicit
Public lIdx As Long
' --------------------------------------
' Custom button to go to the next slide
' --------------------------------------
Public Sub NextSlide(ByRef oShp As Shape)
Dim oSld As Slide
Set oSld = oShp.Parent
lIdx = oSld.SlideIndex + 1
If lIdx = ActivePresentation.Slides.Count Then lIdx = 1
' Go to the specified slide, resetting the animations
SlideShowWindows(1).View.GotoSlide lIdx, msoTrue
End Sub
' --------------------------------------
' Custom button to go to the prev slide
' --------------------------------------
Public Sub PreviousSlide(ByRef oShp As Shape)
Dim oSld As Slide
Set oSld = oShp.Parent
lIdx = oSld.SlideIndex - 1
If lIdx = 0 Then lIdx = ActivePresentation.Slides.Count - 1
' Go to the specified slide, resetting the animations
SlideShowWindows(1).View.GotoSlide lIdx, msoTrue
End Sub
' --------------------------------------
' Custom button to reset animations
' --------------------------------------
Public Sub ResetCurrentSlide()
With SlideShowWindows(1).View
.GotoSlide .CurrentShowPosition
End With
End Sub

Menavigasi ke slide tertentu

Konsep ini dapat diambil lebih jauh jika Anda ingin menavigasi ke slide bernomor tertentu. Anda perlu cara untuk meneruskan jumlah slide yang ingin Anda navigasikan ke makro. Cara yang bagus dan mudah untuk melakukan ini adalah dengan menggunakan nama bentuk Anda menetapkan tindakan klik. Buka Panel Pemilihan dengan menekan pintasan sangat rahasia Alt + F10 (atau mengklik tab Beranda diikuti oleh Atur / Panel Pilihan ) dan ubah nama bentuk yang dapat diklik Anda menjadi “5” misalnya. Sekarang tautan bentuk itu ke makro di bawah ini:

' -------------------------------------------------------------
' Custom button to go to slide specified by the name of this shape
' -------------------------------------------------------------
Public Sub GoToSlide(ByRef oShp As Shape)
Dim oSld As Slide
Dim lSld As Long
 
Set oSld = oShp.Parent
 
' Check if the name of the clicked shape is a number
If IsNumeric(oShp.Name) Then
lSld = CLng(oShp.Name)
' Check that the slide number is valid
If lSld > 0 And lSld <= oSld.Parent.Slides.Count Then
' Go to the specified slide, resetting the animations
SlideShowWindows(1).View.GoToSlide lSld, msoTrue
Else
MsgBox "The specified slide number " & lSld & " is invalid.", _
vbInformation + vbOKOnly, "BrightCarbon VBA Macro"
End If
Else
MsgBox "The shape's name in the Selection Pane (Alt+F10) must " & _
"be the number of the slide you want to navigate to.", _
vbInformation + vbOKOnly, "BrightCarbon VBA Macro"
End If
End Sub

Sumber: https://www.brightcarbon.com/blog/supercharging-powerpoint-interactive-presentations-with-vba-part-1/

Leave a Reply

Your email address will not be published. Required fields are marked *