Можно ли создать макрос в PowerPoint 2007, который контролирует размер и расположение объектов диаграммы
Я пытаюсь добавить немного визуальной основы в слайд PowerPoint. Я обычно работаю в Excel и с удивлением узнал, что PowerPoint не предлагает функцию записи. У моего слайда в настоящее время есть шесть диаграмм, выстроенных в простую сетку 2 на 3. Я хотел бы иметь возможность создавать некоторый код VB, который выполняет следующие действия при нажатии на любой конкретный график:
- При нажатии на диаграмму она выводится на передний план, а затем расширяется, чтобы заполнить всю страницу.
- При повторном нажатии он уменьшится и вернется на свое место в сетке 2 на 3.
Возможно ли это в PowerPoint. Я искал информацию о свойствах, которая позволила бы мне контролировать местоположение объектов диаграммы, но не смогла выяснить, где находится эта информация.
1 ответ
Добавьте это в свою презентацию, сохраните как PPTM, затем выберите каждый из графиков по очереди; Вставить | Действие | Запустить макрос: ResizeMe
Вы должны будете убедиться, что диаграммы пропорциональны размеру слайда для начала (или измените линии, которые устанавливают диаграмму в полноэкранный режим, чтобы использовать разные пропорции).
Вы также должны убедиться, что соотношение сторон фигуры диаграммы не установлено на Заблокировано.
Sub ResizeMe(oSh As Shape)
With oSh
' Is the shape full screen or normal?
If .Left = 0 Then ' it's full screen
.Left = CSng(.Tags("Left"))
.Top = CSng(.Tags("Top"))
.Height = CSng(.Tags("Height"))
.Width = CSng(.Tags("Width"))
Else ' it's small; biggify it:
' first, record it's small coordinates:
.Tags.Add "Left", CStr(.Left)
.Tags.Add "Top", CStr(.Top)
.Tags.Add "Height", CStr(.Height)
.Tags.Add "Width", CStr(.Width)
' now make it full screen
.Left = 0
.Top = 0
.Height = ActivePresentation.PageSetup.SlideHeight
.Width = ActivePresentation.PageSetup.SlideWidth
End If
End With
End Sub