All Forums
 Категория Visio
 Форум Вопросы и ответы
 как сделать 'Auto-Arrange Shapes' орг.диаграммы
Author Previous Topic Topic Next 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")
Go to Top of Page

Art

3 Posts

Posted - 02/26/2004 :  10:41:52
спасибо, данный код пытается работать, правда при этом
выдается сообщение, что диаграмма уже 'Auto-Arranged'.
пытался сдвинуть блок, чтобы visio не думал, что диаграмма 'Auto-Arranged',
но visio все равно говорит, что не будет расставлять автоматом ...

вообще говоря, проблема возникла так: создаю диаграмму с помощью
organization chart wizard на основе таблицы из БД, при этом часть
текстовых полей выходит за границы блоков, т.к. по умолчанию стоит
определенный размер блоков. тогда я ставлю блокам свой размер - побольше,
чтобы текст влазил - после этого нужно делать опять расстановку
блоков, чтобы все красиво было...
...но не расставляются они автоматом !! - может есть другое решение проблемы ?

кстати где можно узнать все команды которые можно послать addon-у...
(помимо тех, что указаны в shapesheet) ?
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 02/26/2004 :  15:49:43
А у меня расставляются!?
Значит либо Вы не туда сдвигаете блок (или не тот блок), либо что-то ломаете при изменении размеров блоков.
Go to Top of Page

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 и размеры, а на что-то другое.

Подскажите, где искать дальше ?
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)