Author |
Topic |
|
evgenia_e
Germany
22 Posts |
Posted - 05/24/2004 : 17:44:50
|
Народ, помогите! как отследить измение формы шейпа, например, растягивание?
Спасибо |
|
Tumanov
Russia
1198 Posts |
Posted - 05/24/2004 : 18:35:35
|
Возможные кандидаты:
FormulaChanged Sheet.1!PinX CellChanged Sheet.1!PinX FormulaChanged Sheet.1!PinY CellChanged Sheet.1!PinY FormulaChanged Sheet.1!Width CellChanged Sheet.1!Width FormulaChanged Sheet.1!Height CellChanged Sheet.1!Height CellChanged Sheet.1!LocPinX CellChanged Sheet.1!LocPinY CellChanged Sheet.1!Geometry1.X2... |
|
|
evgenia_e
Germany
22 Posts |
Posted - 05/25/2004 : 14:26:04
|
не подскажете, как этим пользоваться? Нужно, чтобы каждый раз отслеживалось растягивание селектированного шейпа. Я объявляю шейп с событиями : Dim WithEvents shpObj As Visio.Shape
куда надо прописать эти возможные кандидаты? Что нужно сделать, чтобы срабатывало selectionadded? Спасибо |
|
|
Tumanov
Russia
1198 Posts |
Posted - 05/25/2004 : 17:27:33
|
Последовательность действий следующая: 1. Объявить некоторый объект WithEvents Например, Dim WithEvents shpObj As Visio.Shape 2. После этого в VBA в том окошке, где сейчас есть только General и Document появится Ваш объект shpObj и в правом окошке можно будет выбрать событие, для которого можно написать обработчик. Например, CellChanged. 3. Написать этот обработчик 4. Связать Ваш новый тип с конкретным объектом Например, Set shpObj = ActivePage.Shapes(1) Пункт 4 обычно вставляется в обработчик DocumentOpened или что-нибудь похожее. Можно его всунуть в отдельный макрос и выполнить через меню. В общем как угодно, но только после его выполнения события от этого объекта начнут отслеживаться.
Если Вы хотите привязать событие не к одному шейпу, а к нескольким, то WithEvents нужно объявлять не для шейпа, а для чего-то более серьезного, например, для страницы. Нужно только учитывать, что источников события сразу станет побольше и их придется отфильтровывать (например, отловить только события от шейпов заданного типа).
Так же выбирается и selectionadded. У шейпа такого события естественно не будет, а вот у страницы - есть. |
|
|
|
Topic |
|
|
|