Author |
Topic |
|
mormax
Russia
18 Posts |
Posted - 03/22/2005 : 11:31:37
|
Имеется шейп, вложеный в другой шейп, который в свою очередь тоже вложен.Можно ли узнать как нибудь координаты относительно листа вложенного шейпа, не прибегая к вычислениям? |
|
asleep
8 Posts |
Posted - 03/22/2005 : 15:33:21
|
если из ВБ то так Dim pinX As Double Dim pinY As Double
pinX = gopsShape.Cells("LocPinX").Result(visNoCast) pinY = gopsShape.Cells("LocPinY").Result(visNoCast) gopsShape.XYToPage pinX, pinY, pinX, pinY тут можно остановиться, но т.к. XYToPage работает с дюймами удобнее это в миллиметры перевести pinX = Visio.Application.ConvertResult(pinX, visNoCast, visMillimeters) pinY = Visio.Application.ConvertResult(pinY, visNoCast, visMillimeters)
в шейп шите так(формулы в элементе Sheet.X для координат элемента Sheet.1): Scratch.A1 = LOCTOLOC(PNT(Sheet.1!LocPinX,Sheet.1!LocPinY),Sheet.1!Width,ThePage!PageWidth))Sheet.1!Width,ThePage!PageWidth),ThePage!PageWidth,Width)) Scratch.B1 = GUARD(PAR(LOCTOLOC(Scratch.A1,ThePage!PageWidth,Width))) PNT(Scratch.B1) - искомая координата |
|
|
asleep
8 Posts |
Posted - 03/22/2005 : 15:58:53
|
упс Scratch.A1=LOCTOLOC(PNT(Sheet.1!LocPinX,Sheet.1!LocPinY),Sheet.1!Width,ThePage!PageWidth) так будет в Scratch.B1 GUARD можно снять он там необязателен
нечаянно получилось |
|
|
|
Topic |
|
|
|