Можно ли создать макрос в PowerPoint 2007, который контролирует размер и расположение объектов диаграммы

1073
Mutuelinvestor

Я пытаюсь добавить немного визуальной основы в слайд PowerPoint. Я обычно работаю в Excel и с удивлением узнал, что PowerPoint не предлагает функцию записи. У моего слайда в настоящее время есть шесть диаграмм, выстроенных в простую сетку 2 на 3. Я хотел бы иметь возможность создавать некоторый код VB, который выполняет следующие действия при нажатии на любой конкретный график:

  1. При нажатии на диаграмму она выводится на передний план, а затем расширяется, чтобы заполнить всю страницу.
  2. При повторном нажатии он сжимается и возвращается на свое место в сетке 2 на 3.

Возможно ли это в PowerPoint? Я искал информацию о свойствах, которая позволила бы мне контролировать местоположение объектов диаграммы, но не смогла выяснить, где находится эта информация.

0

1 ответ на вопрос

0
Steve Rindsberg

Добавьте это в свою презентацию, сохраните как 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 

Похожие вопросы