Форум пользователей Visio http://visio.getbb.ru/ |
|
Назначить горячие клавиши на "Назначить слою" http://visio.getbb.ru/viewtopic.php?f=6&t=1137 |
Страница 1 из 1 |
Автор: | lioon [ 08 июн 2017, 11:13 ] |
Заголовок сообщения: | Назначить горячие клавиши на "Назначить слою" |
Добрый день, Нужно перевести выделенные элементы в определенный слой по сочетанию клавиш. Создал в макро рекордере макрос, присвоил ему на выполнение сочетание клавиш, но не могу понять логику визио как сделать так, чтобы он выполнял его не к конкретному элементу, а к выделенному? Пример макроса: Код: Sub Macro1()
' Сочетание клавиш: Ctrl+Shift+W ' 'Enable diagram services Dim DiagramServices As Integer DiagramServices = ActiveDocument.DiagramServicesEnabled ActiveDocument.DiagramServicesEnabled = visServiceVersion140 + visServiceVersion150 Dim UndoScopeID1 As Long UndoScopeID1 = Application.BeginUndoScope("Слой") Application.ActiveWindow.Page.Shapes.ItemFromID(237).CellsSRC(visSectionObject, visRowLayerMem, visLayerMember).FormulaForceU = """2""" Application.EndUndoScope UndoScopeID1, True 'Restore diagram services ActiveDocument.DiagramServicesEnabled = DiagramServices End Sub |
Автор: | Tumanov [ 08 июн 2017, 11:28 ] |
Заголовок сообщения: | Re: Назначить горячие клавиши на "Назначить слою" |
Заменить вот это Application.ActiveWindow.Page.Shapes.ItemFromID(237) на ActiveWindow.Selection(1) Это будет - "первый из селектированных шейпов" --------- Можно перед этим проверить, что ActiveWindow.Selection.Count больше нуля. А если нужно выполнить операцию со "всеми селектированными", то в цикле от 1 до Selection.Count. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |