All Forums
 Категория Visio
 Форум Вопросы и ответы
 создать много коннекшинов
Author Previous Topic Topic Next Topic  

gromozeka

11 Posts

Posted - 11/03/2005 :  16:50:40
Люди добрые, подскажите пожалуйста,, как добавить коннекш поинтс к шейпу...
Нашел на форуме тему,, но не могу понять как AddRows работает...
Подскажите, пожалуйста, конкретно,, что в параметры надо забросить, чтоб добавить, к примеру 4, 6, 8 точек...

С хелпом тоже у меня неудачно сложилось как то))

Voland

91 Posts

Posted - 11/03/2005 :  17:15:18
Все очень просто. Если фигура не имеет раздела конекшен поинтов, то сначала надо создать его. Делаем это так:
Dim UndoScopeID1 As Long
UndoScopeID1 = Application.BeginUndoScope("Add Section")
Application.ActiveWindow.Shape.AddSection visSectionConnectionPts
Application.EndUndoScope UndoScopeID1, True

Затем добавляем коннекшен поинт

Dim UndoScopeID2 As Long
UndoScopeID2 = Application.BeginUndoScope("Insert Row")
Application.ActiveWindow.Shape.AddRow visSectionConnectionPts, 0, visCnnctX
Application.ActiveWindow.Shape.CellsSRC(visSectionConnectionPts, 0, visCnnctX).FormulaU = "Width*0"
Application.ActiveWindow.Shape.CellsSRC(visSectionConnectionPts, 0, visCnnctY).FormulaU = "0 mm"
Application.ActiveWindow.Shape.CellsSRC(visSectionConnectionPts, 0, visCnnctDirX).FormulaU = "0 mm"
Application.ActiveWindow.Shape.CellsSRC(visSectionConnectionPts, 0, visCnnctDirY).FormulaU = "0 mm"
Application.ActiveWindow.Shape.CellsSRC(visSectionConnectionPts, 0, visCnnctType).FormulaU = "0 mm"
Application.ActiveWindow.Shape.CellsSRC(visSectionConnectionPts, 0, visCnnctAutoGen).FormulaU = "0 mm"
Application.ActiveWindow.Shape.CellsSRC(visSectionConnectionPts, 0, 6).FormulaU = ""
Application.EndUndoScope UndoScopeID2, True

Затем добавляем следующий

Dim UndoScopeID3 As Long
UndoScopeID3 = Application.BeginUndoScope("Insert Row")
Application.ActiveWindow.Shape.AddRow visSectionConnectionPts, 0, visCnnctX
Application.ActiveWindow.Shape.CellsSRC(visSectionConnectionPts, 0, visCnnctX).FormulaU = "Width*0"
Application.ActiveWindow.Shape.CellsSRC(visSectionConnectionPts, 0, visCnnctY).FormulaU = "0 mm"
Application.ActiveWindow.Shape.CellsSRC(visSectionConnectionPts, 0, visCnnctDirX).FormulaU = "0 mm"
Application.ActiveWindow.Shape.CellsSRC(visSectionConnectionPts, 0, visCnnctDirY).FormulaU = "0 mm"
Application.ActiveWindow.Shape.CellsSRC(visSectionConnectionPts, 0, visCnnctType).FormulaU = "0 mm"
Application.ActiveWindow.Shape.CellsSRC(visSectionConnectionPts, 0, visCnnctAutoGen).FormulaU = "0 mm"
Application.ActiveWindow.Shape.CellsSRC(visSectionConnectionPts, 0, 6).FormulaU = ""
Application.EndUndoScope UndoScopeID3, True

И так далее....

В значениях параметров, пишите то что вам нужно... координанты поинта в фигуре и прочее...


___ Кто ищет тот найдет __
Go to Top of Page

Voland

91 Posts

Posted - 11/03/2005 :  17:19:22
Да... чуть не забыл самое главное, если хотите задать имя строке точки коннектора, то это делается так:

Application.ActiveWindow.Shape.CellsSRC(visSectionConnectionPts, 0, visCnnctX).RowNameU = "MyConnector1"


В данном примере мы присваиваем имя MyConnector1 первой строке (первому коннектору), аналогично:

Application.ActiveWindow.Shape.CellsSRC(visSectionConnectionPts, 1, visCnnctX).RowNameU = "MyConnector2"

Второму и т.д.


___ Кто ищет тот найдет __
Go to Top of Page

gromozeka

11 Posts

Posted - 11/03/2005 :  18:15:01
спасибо огромнейшее!!..))
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)