• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Vba И Power Point

  • Автор темы Vladislava-smile
  • Дата начала
V

Vladislava-smile

На слайде есть нарисованный овал, при запуске презентации он должен менять цвет заливки.

Как менять цвет нашла
Dim a As Shape
Private Sub CommandButton2_Click()
a = ActivePresentation.Slides(1).Shapes ("Oval 6").Select
a.Fill.ForeColor.RGB = RGB(0, 255, 0)

End Sub

Но он ругается. Помогите, пожалуйста, что не так?Непонимающий

если овал создавать тоже в коде в блоке кнопки, то все хорошо.
Set b = ActivePresentation.Slides(1).Shapes .AddShape(msoShapeOval, 586.75, 150.88, 79.38, 79.38)
 
V

Vladislava-smile

А подскажите еще вопрос. Можно ли как и в Exel сделать автоматический запуск макросов при запуске презентации?
 
V

Vladislava-smile

С овалами разобралась уже. Спасибо. Под запуском подразумевается показ слайдов.

А можно ли в связке Power Point и VBA делать следующие вещи:
В слайде презентации у нас есть 3 прямоугольника. Нужно, что бы при наведении или при щелчке на этот объект при просмотре презентации выдавалось сообщение о названии этого объекта и его индексе. Писать макрос на каждый объект и привязывать его через действие не вариант - таких объектов по всей презентации около 500 штук. Нашла только, чтобы выводился общий список.

Sub Auto_open()

Set sh = ActiveWindow.Selection.SlideRange.Shapes

Im = ""

For Each fr In sh

Im = Im & fr.Name & vbCrLf

Next

MsgBox Im

End Sub

(( Я в тупике, помогите, пожалуйста.
 
V

Vladislava-smile

Нашла блок
Sub Shape3_Clicked()

End Sub

Только вот осталось понять как эту 3 на примере вытаскивать и записывать в переменную.
 
V

Vladislava-smile

Sub identification(oShp As Shape)
MsgBox oShp.Name, vbInformation + vbOKOnly
Dim FullString As String
Dim SearchString As String
Dim SearchStringPos As Integer
Dim ShapeNumber As Integer
Dim ShapeNumberPos As Integer
FullString = oShp.Name
SearchString = " "
SearchStringPos = InStr(1, FullString, SearchString)
ShapeNumberPos = SearchStringPos + 1
ShapeNumber = Mid(FullString, ShapeNumberPos)
MsgBox (ShapeNumber)
End Sub


Работает.

Добавлено: Остался только Auto_Open. Мысли есть?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!