- Сообщения
- 50
- Реакции
- 1
Привет.
Я пытаюсь создать макрос, который создает «расширенный» градиент для объекта. Таким образом, прямоугольник с этим градиентом может быть помещен в объекты с разными пропорциями и выглядеть одинаково. Слева то, что мы можем сейчас получить, а справа то, что нам нужно:
Код выглядит следующим образом:
Казалось бы, End2X и End2Y — то, что нам нужно. Но запуск кода выдает сообщение об ошибке. Есть идеи?
Я пытаюсь создать макрос, который создает «расширенный» градиент для объекта. Таким образом, прямоугольник с этим градиентом может быть помещен в объекты с разными пропорциями и выглядеть одинаково. Слева то, что мы можем сейчас получить, а справа то, что нам нужно:
Код выглядит следующим образом:
Код:
Sub ReplaceGradient()
Dim S As Shape
Dim T As Shape
Dim EE As String
Dim SplitEE() As String
Dim E2X As Double
Dim E2Y As Double
Set S = ActiveShape
ActiveDocument.Unit = cdrMillimeter
Set T = ActiveLayer.CreateRectangle(S.LeftX - 100, S.TopY + 100, S.RightX + 100, S.BottomY - 100)
T.Fill.CopyAssign S.Fill
With S.Fill.Fountain
T.Fill.Fountain.startX = .startX
T.Fill.Fountain.startY = .startY
T.Fill.Fountain.EndX = .EndX
T.Fill.Fountain.EndY = .EndY
T.Fill.Fountain.Skew = .Skew
T.Fill.Fountain.CenterOffsetX = .CenterOffsetX
T.Fill.Fountain.CenterOffsetY = .CenterOffsetY
T.Fill.Fountain.End2X = .End2X
T.Fill.Fountain.End2Y = .End2Y
End With
T.OrderBackOf S
End Sub
Казалось бы, End2X и End2Y — то, что нам нужно. Но запуск кода выдает сообщение об ошибке. Есть идеи?