У меня есть некоторый код, который просматривает положение строки, которую пользователь может редактировать. Цель редактирования этой строки - получить грубые измерения из плана графика, который работает до сих пор. Я работаю над тем, чтобы сделать его намного более интерактивным, записывая измеренные позиции.
Вот проблема. Когда эта форма (колено соединителя) находится на корпусе и в точке доступа, она записывает свое положение в точках, используя shape.top и shape.left (код ниже). Когда я изменяю размер этой линии, чтобы поместить точку доступа в другую точку доступа, положение шкафа также меняется, даже если он не двигался. Я заметил, что высота и ширина шкалы изменились на чертеже, но я не могу понять, почему это повлияет на начальную точку.
Стоит отметить, что при повороте углового соединителя вращаются значения ширины и высоты. Это означает, что иногда высота вверх и вниз, а иногда это значение, которое вы ожидаете от ширины. Тем не менее, левая позиция остается постоянной только при повороте разъема на 180 градусов.
Существует ли связь между высотой / шириной шкалы и верхним / левым значением?
Sub Measure()
Set sp = ActiveSheet.Shapes("Measurement")
Msgbox(sp.Top & "//" & sp.Left)
end sub
Редактировать: Итак, я понимаю, что много упоминал о программе, реальная проблема в том, почему изменяются верхние левые измерения, несмотря на то, что верхние левые остаются на экране? И только при повороте на 270/90 (происходит автоматически в зависимости от того, как вы перетаскиваете линию)
Добавить снимки экрана (размеры сверху, затем слева)
Это первый снимок экрана с поворотом на 270
Это второй, обратите внимание, что верхний левый остался неподвижным, но точки изменились
Эта следующая группа с поворотом на 180/0 (фигура автоматически поворачивается, в противном случае я бы просто заблокировал ее и сделал бы).
Повернутый 180 первый снимок экрана
Снимок экрана с поворотом на 180 секунд