powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / MS PowerPoint VBA - как получить имя фигуры (shape) при наведении на нее мышкой?
4 сообщений из 4, страница 1 из 1
MS PowerPoint VBA - как получить имя фигуры (shape) при наведении на нее мышкой?
    #38573913
SOULURAN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! В презентации MS PowerPoint 2010 использую макросы на объекты типа shapes (фигуры), чтобы при наведении на них мышкой они подсвечивались (меняется толщина линии и ее цвет \ нет линии). Таких объектов 12 и все они имеют имена, как TR1 .. 12. Для каждой фигуры добавил собственный макрос FLASH_TR1 .. 12 через "Вставка - Действие - По наведению указателя мыши", потому как в каждом макросе жестко задано имя объекта.
Один из 12 аналогичных макросов:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
Sub FLASH_TR1()
Dim oSlide As Slide
Dim oShape As Shape
Dim A as Variant
Dim dis_vName As String
Dim vName As String
Set oSlide = Application.ActivePresentation.Slides(1)

vName = "TR1"
vColor = oSlide.Shapes.Item(vName).Line.Visible
A = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)

If vColor = 0 Then
' Включаем подсветку для текущего объекта
With oSlide.Shapes.Item(vName)
    .Line.Visible = msoTrue
    .Line.Weight = 5
    .Line.ForeColor.RGB = RGB(255, 255, 50)
End With

' Отключаем подсветку для других объектов
For i = 0 To 11
dis_vName = "TR" & A(i)
If dis_vName <> vName Then
With oSlide.Shapes.Item(dis_vName)
    .Line.Visible = msoFalse
End With
End If
Next

Else
' Отключаем подсветку для текущего объекта
With oSlide.Shapes.Item(vName)
    .Line.Visible = msoFalse
End With
End If

End Sub


Есть ли способ получить имя фигуры (shape), с которой запустился макрос при наведении на него мышкой, чтобы не плодить множество похожих скриптов, с жесткой привязкой к имени объекта.
...
Рейтинг: 0 / 0
MS PowerPoint VBA - как получить имя фигуры (shape) при наведении на нее мышкой?
    #38574006
_Дмит_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sub Identify(oShp As Shape)
MsgBox oShp.Name, vbInformation + vbOKOnly
End Sub
...
Рейтинг: 0 / 0
MS PowerPoint VBA - как получить имя фигуры (shape) при наведении на нее мышкой?
    #38574039
SOULURAN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Дмит_Sub Identify(oShp As Shape)
MsgBox oShp.Name, vbInformation + vbOKOnly
End Sub
Мой макрос запускается, но я не могу определить с какого объекта он запустился? А в вашем случае надо будет указать нужный мне объект задав его.
...
Рейтинг: 0 / 0
MS PowerPoint VBA - как получить имя фигуры (shape) при наведении на нее мышкой?
    #38574288
SOULURAN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Дмит_Sub Identify(oShp As Shape)
MsgBox oShp.Name, vbInformation + vbOKOnly
End Sub
Млин, во я ступил! Все работает, спасибо тебе _Дмит_.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / MS PowerPoint VBA - как получить имя фигуры (shape) при наведении на нее мышкой?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]