2015-12-07 3 views
1

Я довольно приличный программист VBA в Excel, и теперь меня попросили сделать что-то в PowerPoint. Обычно я начинаю с рекордера, чтобы увидеть, что что-то названо, а затем я иду оттуда, делая мои циклы, если заявления и т. Д. ОДНАКО. К моему шок, в PowerPoint нет макрорекордера.VBA в PowerPoint без MacroRecorder

Как узнать, какие элементы на слайде вызываются? Я понятия не имею, как ссылаться на что угодно.

Помогите, пожалуйста?

+0

некоего цикл отчетности всех имен элементов или объектов в непосредственном окно может быть? –

ответ

0

Запустите PPT IDE, нажмите F2 для браузера объектов и немного запустите его для начала. Напишите часть PPT вашего кода в PPT, насколько это возможно, затем верните его в Excel. Для хорошо написанного кода это обычно не включает в себя несколько строк, измененных здесь и там.

Существует несколько сайтов (Microsoft и другие), которые имеют базовые примеры кода. Немного поискового запроса предоставит множество ссылок.

Иерархия объектов в основном:

Приложение содержит коллекцию презентаций, который содержит презентации, которая содержит коллекцию Слайды, которая содержит Слайды, которые содержат коллекцию формы, которая содержит формы, каждый из которых может доступ к ним по имени, номеру индекса или идентификационному номеру.

Чтобы узнать имя/и т. Д. выбранной формы:

Sub TellMeMore() 
    With ActiveWindow.Selection.ShapeRange(1) 
     MsgBox "Name: " & .Name & vbCrLf _ 
& "Index: " & CStr(.ZOrderPosition) & vbCrLf _ 
& "ID: " & CStr(.Id) 
    End With 
    End Sub 
+0

Нет способа щелкнуть по объекту и узнать его имя, номер индекса или идентификационный номер в PowerPoint? Если бы у меня была такая информация, я мог бы, возможно, выяснить остальное. –

+0

См. Отредактированную версию выше. Индекс не всегда лучший способ определить форму, поскольку индекс просто указывает положение фигуры в z-порядке. Имя не является полностью надежным; в то время как вы не можете создать две фигуры с тем же именем, PPT иногда сделает это за вас. Это ошибка. –

0

Я чувствую вашу боль. У вас есть доступ к установочному носителю Office 2003? Если это так, выберите главный компьютер, который не требует новейшего и самого большого Office и установите Office 2003 на этом ПК. PowerPoint 2003 включает в себя макрорекордер.

Рекордер поможет вам познакомиться с объектной моделью PPT, и это плюс. С другой стороны, рекордер (очевидно) не покажет, как получить доступ к функциям PPT, добавленным после 2003 года.

Это link обеспечивает некоторую историю, касающийся РРТ рекордера, в частности, его удаление в Office 2007.