PowerPoint VBA для вывода группы на передний план - PullRequest
0 голосов
/ 01 ноября 2018

Я новичок в VBA, поэтому, пожалуйста, прости неумелость!

У меня есть слайд с несколькими пунктами. Каждая точка имеет связанную группу фигур, которая появляется при нажатии. К сожалению, если пользователь нажимает на них не по порядку, более поздние группы остаются перед более ранними группами. Я пытаюсь создать сценарий VBA, который выводит конкретную группу вперед при нажатии. В настоящее время у меня есть ниже, но я не знаю, как адаптировать это к определенной группе фигур, а не к выделению.

ActiveWindow.Selection.ShapeRange(1).ZOrder msoBringToFront

1 Ответ

0 голосов
/ 02 ноября 2018

Предполагая, что вы хотите сделать это во время слайд-шоу, есть проблема: поскольку вы ничего не можете выбрать в представлении слайд-шоу, никогда не будет объекта ActiveWindow.Selection для работы.

Вместо этого вы можете назначить каждой из ваших групп настройку действия «Выполнить макрос» и назначить ей этот макрос (который должен находиться в том же файле, который затем необходимо сохранить как PPTM или PPSM):

Sub BringToFront(oShape As Shape)
    oShape.ZOrder msoBringToFront
End Sub

Макрос затем будет работать с любой формой, по которой щелкали во время слайд-шоу. Больше информации об этом по ссылке ниже. Пример кода выше не будет работать на Mac, но ссылка имеет простой обходной путь для этого.

Определите, какая фигура была нажата

http://www.pptfaq.com/FAQ00141_Determine_which_shape_was_clicked.htm

...