Author |
Topic |
|
Art
3 Posts |
Posted - 02/25/2004 : 12:31:07
|
доброго времени суток ! подскажите пожалуйста, как программно заставить организационную диаграмму в visio2002 сделать 'Auto-Arrange Shapes' (то есть сделать то же, что происходит при нажатии кнопки 'Auto-Arrange Shapes' на тулбаре, который появляется при создании организационной диаграммы)? |
|
Tumanov
Russia
1198 Posts |
Posted - 02/25/2004 : 17:46:30
|
Попробуйте вот это:
Visio.Addons.Item("OrgC").Run ("/cmd=FitToPage")
|
|
|
Art
3 Posts |
Posted - 02/26/2004 : 10:41:52
|
спасибо, данный код пытается работать, правда при этом выдается сообщение, что диаграмма уже 'Auto-Arranged'. пытался сдвинуть блок, чтобы visio не думал, что диаграмма 'Auto-Arranged', но visio все равно говорит, что не будет расставлять автоматом ...
вообще говоря, проблема возникла так: создаю диаграмму с помощью organization chart wizard на основе таблицы из БД, при этом часть текстовых полей выходит за границы блоков, т.к. по умолчанию стоит определенный размер блоков. тогда я ставлю блокам свой размер - побольше, чтобы текст влазил - после этого нужно делать опять расстановку блоков, чтобы все красиво было... ...но не расставляются они автоматом !! - может есть другое решение проблемы ?
кстати где можно узнать все команды которые можно послать addon-у... (помимо тех, что указаны в shapesheet) ? |
|
|
Tumanov
Russia
1198 Posts |
Posted - 02/26/2004 : 15:49:43
|
А у меня расставляются!? Значит либо Вы не туда сдвигаете блок (или не тот блок), либо что-то ломаете при изменении размеров блоков.
|
|
|
Art
3 Posts |
Posted - 03/02/2004 : 11:14:57
|
Черт, не получается - точно что-то не то двигаю: я делаю так
Set celObj = shpObj.Cells("PinX") TextWTH = celObj.Result(visMm) shpObj.Cells("PinX").Formula = TextWTH + 5 & " mm" '- сдвигаю на 5 мм shpObj.Cells("Width").Formula = "50 mm" 'ставлю свою ширину shpObj.Cells("Height").Formula = "30 mm" 'и высоту
ширина и высота ставится нормально (получается диаграмма но с большими блоками - при этом они накладываются друг на друга и на коннекторы) потом делаю
Visio.Addons.Item("OrgC").Run ("/cmd=FitToPage")
но ничего не меняется визуально - а если рукой отодвинуть подальше какой-нибудь блок - тогда при расстановке этот блок поставится нормально - а остальные так и остаются наложенными друг на друга. вот я и понять не могу, по какому принципу отслеживается изменение диаграммы или блоков - очевидно, что visio смотрит не на PinX и размеры, а на что-то другое.
Подскажите, где искать дальше ? |
|
|
|
Topic |
|
|
|