Пре неколико дана желео сам да аутоматизујем прилично свакодневни задатак креирања неких ПоверПоинт слајдова. Када аутоматизујете ПоверПоинт, обично радите са колекцијом слајдова и облика. Слајдови су прилично разумљиви, а облици су скоро све остало укључујући текстуалне оквире, дугмад за радњу, медијске објекте, налепнице, слике, облачиће, дијаграме тока и тако даље и тако даље. Иако ћу представити технике са ПоверПоинт-ом, неке од синтаксе су заправо прилично применљиве на Мицрософт Ворд и Екцел.
Само да резимирамо, пре него што почнете са развојем ВБА макроа у ПоверПоинту, морате да омогућите картицу за развој .
Прво, почнимо тако што ћемо аутоматски креирати презентацију са неким слајдовима као што је приказано у овом водичу: креирање презентације у ВБА .
Сада можемо почети да радимо са облицима. Прво, идемо даље и отворимо ВБА Едитор притиском на Алт+ Ф11. Ако сте пратили претходни водич, требало би да имате модул 1 на листи модула (као што је приказано испод)
Рад са облицима са ВБА
Додавање оквира за текст помоћу ВБА
Почећемо додавањем вертикалног оквира за текст нашем првом слајду у презентацији. Додајте следећи код у Модуле1, а затим наставите и притисните дугме Сачувај (Цтрл+с) и Покрените свој макро (притисните Ф5 или притисните Покрени под/кориснички образац).
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
Имајте на уму да можете прилично лако да промените величину оквира за текст помоћу ВБА. У овом случају ћемо променити величину првог облика на другом слајду, слободно га мењајте по потреби.
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
Текстуални ефекти са ВБА
Претпоставимо сада да желимо да свим слајдовима у презентацији додамо оквир за текст, овај пут мало привлачнији. Да бисмо то урадили, користићемо ВБА да креирамо прилагођене текстуалне ефекте које можемо да уградимо у један или више слајдова у презентацији. Прво ћемо проћи кроз слајдове презентације, а затим додати текстуални ефекат по потреби.
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
Ево резултата ;-):

Имајте на уму да можете користити и једноставан водени жиг да бисте постигли овај специфичан резултат.
ПоверПоинт облачићи са ВБА
Наш следећи пример ће бити додавање додатних описа вашој презентацији. У овом примеру ћемо додати облачић другом слајду.
Sub CreateCallout()
ActivePresentation.Slides(2).Shapes.AddCallout(Type:=msoCalloutTwo, Left:=200, Top:=50, _ Width:=300, Height:=100).TextFrame.TextRange.Text = "My Callout"
End Sub