Author |
Topic |
|
Алексей77
14 Posts |
Posted - 02/08/2006 : 12:01:18
|
Господа! Помогите, пожалуйста! Никак не могу сообразить, какое свойство шейпа характеризует его координаты на листе? Простите за элементарный характер вопроса! |
|
Digitall
Russia
389 Posts |
Posted - 02/08/2006 : 12:14:26
|
quote: Originally posted by Алексей77
Господа! Помогите, пожалуйста! Никак не могу сообразить, какое свойство шейпа характеризует его координаты на листе? Простите за элементарный характер вопроса!
Свойство? Никакое. Если только вы сами сделаете эти координаты свойством. Координаты относительна начала листа содержатся в ячейках PinX и PinY. Но это координаты центра фигуры, так что будьте внимательны. Чтобы найти координаты начала фигуры относительно начала листа, из этих ячеек надо вычесть LocPinX и LocPinY. |
|
|
Алексей77
14 Posts |
Posted - 02/08/2006 : 12:27:53
|
У меня макрос переносит шейпы из одного файла в другой. Я выбираю необходимый шейп из коллекции шейпов первого файла путем .ItemFromID(X) и теперь хочу получить координаты центра этого шейпа на листе, чтобы потом отрисовать его на листе второго файла но немного изменяя расположение(то есть надо поработать с координатами). Так вот не понимаю, как получить координаты на исходном листе. Ведь наверняка есть данное свойство у объекта Shape???!!! |
|
|
Digitall
Russia
389 Posts |
Posted - 02/08/2006 : 12:49:28
|
quote: Originally posted by Алексей77
У меня макрос переносит шейпы из одного файла в другой. Я выбираю необходимый шейп из коллекции шейпов первого файла путем .ItemFromID(X) и теперь хочу получить координаты центра этого шейпа на листе, чтобы потом отрисовать его на листе второго файла но немного изменяя расположение(то есть надо поработать с координатами). Так вот не понимаю, как получить координаты на исходном листе. Ведь наверняка есть данное свойство у объекта Shape???!!!
Так надо было обстоятельно описать ситуацию с самого начала, а не ходить вокруг.
В DVS на стр. 530 приведен исчерпывающий список свойств. Я бы использовал Cells или CellsSRC. Опять же для ячеек см. выше. Как вариант. |
|
|
Алексей77
14 Posts |
Posted - 02/08/2006 : 15:30:49
|
Господа! Направьте, пожалуйста на правильный путь! Что-то я в этой жизни не понимаю! У объекта типа Shape есть метод Drop, аргументами которого являются координаты на листе, куда этот объект "положить". Теперь я на некотором листе получаю указатель на некоторый объект такого же типа Shape и, по идее, ничего мне не мешает получить координаты расположения данного обекта на этом листе. Так почему же у Shape нет свойств, которые бы возвращали координаты объекта. Мне кажется, что я как то "не догоняю" смысл данной объектной модели. |
|
|
Digitall
Russia
389 Posts |
Posted - 02/08/2006 : 16:17:02
|
quote: Originally posted by Алексей77
Господа! Направьте, пожалуйста на правильный путь! Что-то я в этой жизни не понимаю! У объекта типа Shape есть метод Drop, аргументами которого являются координаты на листе, куда этот объект "положить". Теперь я на некотором листе получаю указатель на некоторый объект такого же типа Shape и, по идее, ничего мне не мешает получить координаты расположения данного обекта на этом листе. Так почему же у Shape нет свойств, которые бы возвращали координаты объекта. Мне кажется, что я как то "не догоняю" смысл данной объектной модели.
Такая вот она, витьеватая эта модель. Мне тоже много чего не нравится в Visio. К примеру, почему удаляя слой, мне предлагают удалить все фигуры вместе со слоем. Логичнее было бы просто отключить фигуры от слоя.
Однако, в DVS на 339 странице, в примере, делают именно так, как я предложил постом выше. Ни больше, ни меньше. |
Edited by - Digitall on 02/08/2006 16:20:05 |
|
|
Алексей77
14 Posts |
Posted - 02/08/2006 : 16:22:51
|
Дорогой Digitall! А ты не мог бы мне написать эту строку, а то у меня чего-то не выходит, да и не понимаю я смысла этих Cells почему-то, что это за птица такая. Мне надо то всего получить координаты и все! Заранее благодарен! |
|
|
Digitall
Russia
389 Posts |
Posted - 02/08/2006 : 16:45:22
|
quote: Originally posted by Алексей77
Дорогой Digitall! А ты не мог бы мне написать эту строку, а то у меня чего-то не выходит, да и не понимаю я смысла этих Cells почему-то, что это за птица такая. Мне надо то всего получить координаты и все! Заранее благодарен!
Sub Test() Set shpObj = ActiveWindow.Selection.Item(1) x = shpObj.Cells("Pinx") y = shpObj.Cells("Piny") MsgBox x, vbOKOnly MsgBox y, vbOKOnly End Sub
Cells - это простая ссылка на ячейку в ТаблицеФигур(ShapeSheet). |
|
|
Алексей77
14 Posts |
Posted - 02/08/2006 : 16:48:13
|
Ах вот оно в чем дело! Теперь ясно! Огромное спасибо! А то я все понять не мог зачем фигуре ячейка! |
|
|
|
Topic |
|
|
|