На слайде презентации PowerPoint я добавил кнопку действия (флажок), которая активируется при создании презентации.Поэтому у меня есть возможность написать функцию, которая выглядит следующим образом:
Private Sub case_choix1_Click()
Dim OSh As Shape
For Each OShp In Shapes
If OShp.Name = "answer_mask" Then
If (case_choix1.Value) Then
OShp.Visible = False
OShp.Flip msoFlipHorizontal
OShp.Flip msoFlipHorizontal
Else
OShp.Visible = True
OShp.Flip msoFlipHorizontal
OShp.Flip msoFlipHorizontal
End If
End If
Next OShp
End Sub
Эта функция позволяет мне скрывать или видеть фигуры, которые я называю «answer_mask», в зависимости от состояния моей кнопки.Эта функция очень хорошо работает с PowerPoint 2010, который я использовал ранее, и выполнение было достаточно быстрым для меня.
Теперь я использую Powerpoint 2016, и эта функция легко выполняется 6-7 секунд !!Даже если у меня на слайде всего менее 10 форм и текстов, у меня возникает эта проблема как при создании нового слайд-шоу, так и при использовании моих старых презентаций, выполненных с помощью powerpoint 2016.
Параллельно с этим, У меня есть более общий макрос, который позволяет мне перевести состояние моей кнопки в желаемое состояние.Алгоритм очень похож.Я просто просматриваю все мои слайды, нахожу кнопку-флажок, меняю состояние и устанавливаю фигуры «answer_mask» в состояние по умолчанию.Время сделать это очень быстро.
Я пытался удалить все видимые действия и создать манипуляции.Алгоритм очень быстрый.Как только я добавляю только видимую модификацию формы, она становится очень медленной и такой же для Flip
Интересно, почему эта часть программы занимает много времени на этой версии powerpoint и если вы видите вещи, которыенеобходимо изменить, чтобы улучшить его исполнение.
Спасибо за ваши предложения.