Как отрегулировать ширину коленчатого соединителя?

Обратите внимание, что в следующем коде arw представляет собой стрелки, выступающие из нижней части фигуры. Для случаев, когда необходимо принять решение, я также создал боковую стрелку (обозначенную в коде как Sarw). Обратите внимание, что для боковой стрелки я указал ее как соединитель. Я сделал это, потому что не вижу, чтобы на линии была регулировка, как на коленчатом соединителе. Когда я пытаюсь настроить ширину коленчатого соединителя в своем коде, мне это не удается. Я не понимаю почему. Любая помощь, которая может быть оказана, будет принята с благодарностью. Благодарю вас!

 'This first part places arrows on the bottom of a shape

 If rng.Offset(, 4).Value = " "
 GoTo Line1 'I wrote this part for when VBA expects a number & gets a blank
 End If

 Set arw = ws2.Shapes.AddLine(BegX, BegY, EndX, EndY)
 With arw
     .Line.BeginArrowheadStyle = msoArrowheadTriangle
     .Line.BeginArrowheadWidth = msoArrowheadWide
     .Line.ForeColor.RGB = RGB(0, 0, 0)

 End With


 'The following part is for the side arrows
 If rng.Offset(, 8).Value = " " Then
 GoTo Line2

 End If
 Set Sarw = ws2.Shapes.AddConnector(msoConnectorElbow, SBegX, SBegY, SEndX, SEndY)

 With Sarw

     .Line.BeginArrowheadStyle = msoArrowheadTriangle
     .Line.BeginArrowheadWidth = msoArrowheadWide
     .Line.ForeColor.RGB = RGB(0, 0, 0)
     .Adjustments.Item(1) = 45

 End With

person CPILon    schedule 28.08.2018    source источник


Ответы (2)


Похоже, это сработало для меня. Я не вижу в вашем коде ничего, что могло бы повлиять на ширину?

Sub Macro1()

Dim s As Shape

Set s = ActiveSheet.Shapes.AddConnector(msoConnectorElbow, 10, 10, 50, 50)

s.Line.Weight = 5

End Sub
person SJR    schedule 28.08.2018
comment
Я попробую это. Обратите внимание, что я использовал Adjustments.Item(1) = 90. Причина, по которой я сделал это, заключается в том, что я записал макрос, в котором я соединил две фигуры с помощью коленчатого соединителя. Затем я изменил ширину разъема. Согласно макросу, корректировка учитывает ширину. - person CPILon; 28.08.2018

SJR... Попробовал ваш метод. Если я не ошибаюсь, это, кажется, регулирует толщину линии. Обратите внимание, что если вы измените вес с 5 на 90, линия будет больше похожа на прямоугольник. Я прилагаю графику, чтобы продемонстрировать эффект, к которому я стремлюсь. Надеюсь, это поможет. Пожалуйста, дайте мне знать, если я неправильно понял ваш пример. Спасибо!

Нажмите, например, здесь

person CPILon    schedule 28.08.2018
comment
SJR... Я заметил, что ваши координаты отличаются от моих. У вас было 10,10,50,50. Я использовал этот метод и увидел, что у вас есть соединитель с фигурами, расположенными на противоположных сторонах, если хотите. Я возился с этим, чтобы заставить его работать. По сути, я установил свои координаты на 70,10,50,60. Кроме того, мне пришлось указать свойства стрелки. Наконец, когда я использовал Adjustments.Item(1) = 2, позиционирование было именно таким, как я хотел. Спасибо за вашу помощь в этом! - person CPILon; 29.08.2018