Всем привет, уважаемые форумчане. Помогите разобраться.
Пытаюсь изменить уровень скругленности узла полилинии. Вручную это делается так: правый щелчок мыши на автофигуре Полилиния, "начать изменение узлов", челкнуть по нужному узлу и растянуть синюю прямую линию (обозначающую уровень скругленности) уменьшая или увеличивая длину этой линии.
Как макросом при щелчке на кнопку увеличить этот параметр скругленности - вдвое ? То есть длина синей линии, обозначающей скругленность - должна не меняя своего положения или угла наклона - просто стать в два раза длиннее) (изменяемый узел помечен на рисунке)
Всем привет, уважаемые форумчане. Помогите разобраться.
Пытаюсь изменить уровень скругленности узла полилинии. Вручную это делается так: правый щелчок мыши на автофигуре Полилиния, "начать изменение узлов", челкнуть по нужному узлу и растянуть синюю прямую линию (обозначающую уровень скругленности) уменьшая или увеличивая длину этой линии.
Как макросом при щелчке на кнопку увеличить этот параметр скругленности - вдвое ? То есть длина синей линии, обозначающей скругленность - должна не меняя своего положения или угла наклона - просто стать в два раза длиннее) (изменяемый узел помечен на рисунке)OlegSmirnov
iMrTidy, ах да - забыл сказать. Макрорекордер здесь ничем не поможет. В файле содержится код Макрос1, который я пытался написать макрорекордером. [vba]
Код
Sub Макрос1() ActiveSheet.Shapes.Range(Array("Freeform 1")).Select Range("M20").Select End Sub
[/vba] То есть макрорекодер - может разве что выделить автофигуру, не больше.
Так что тут - требуется другое решение.
iMrTidy, ах да - забыл сказать. Макрорекордер здесь ничем не поможет. В файле содержится код Макрос1, который я пытался написать макрорекордером. [vba]
Код
Sub Макрос1() ActiveSheet.Shapes.Range(Array("Freeform 1")).Select Range("M20").Select End Sub
[/vba] То есть макрорекодер - может разве что выделить автофигуру, не больше.
Так что тут - требуется другое решение.OlegSmirnov
OlegSmirnov, таких свойств/функций нет ни в ноде ни в фигуре.
Фигура всегда состоит из большего числа точек, чем число нодов, что указывается вручную. Так, например, если нодов выбирается 3, то точек может быть 10-12. Полагаю, что есть некое уравнение n-ого порядка, которое рисует линию между каждой парой точек или 3-мя, 4-мя. Теперь, когда меняется "ширина" визуального нода, то происходит пересчет и других точек, также по какому-то уравнению.
Поэтому, я думаю, что Вам либо придется написать свой собственный способ пересчета, либо вычислять положение нужного нода и имитировать поведение мышки. В самом лучшем случае, возможно, в Excel есть функция, выполняющая необходимое действие, но она скорее всего не связана напрямую с фигурами, а применяется универсально и в других ситуациях.
Как бы там ни было, то, что Вы пытаетесь сделать, вещь весьма специфическая, и поэтому я рекомендовал бы обратиться в англоязычный форум Майкрософт.
OlegSmirnov, таких свойств/функций нет ни в ноде ни в фигуре.
Фигура всегда состоит из большего числа точек, чем число нодов, что указывается вручную. Так, например, если нодов выбирается 3, то точек может быть 10-12. Полагаю, что есть некое уравнение n-ого порядка, которое рисует линию между каждой парой точек или 3-мя, 4-мя. Теперь, когда меняется "ширина" визуального нода, то происходит пересчет и других точек, также по какому-то уравнению.
Поэтому, я думаю, что Вам либо придется написать свой собственный способ пересчета, либо вычислять положение нужного нода и имитировать поведение мышки. В самом лучшем случае, возможно, в Excel есть функция, выполняющая необходимое действие, но она скорее всего не связана напрямую с фигурами, а применяется универсально и в других ситуациях.
Как бы там ни было, то, что Вы пытаетесь сделать, вещь весьма специфическая, и поэтому я рекомендовал бы обратиться в англоязычный форум Майкрософт.iMrTidy
Вышенаписанное мной не является истиной, но лишь моя точка зрения, которая скорее всего ошибочна.