我试图在Excel 2016中找到一种控制“形状”的渐变填充属性的方法。我有8个形状(称为Shape1-8),将用作MASTER形状的渐变的色板。每个样本的位置(渐变停止)将(最终)通过微调器/滚动条控制。 找不到太多在线资源,所以在尝试对功能进行反向工程时,我转向了旧的“记录宏”。这是开始出现的问题...
所以我构造了一个简单的2色渐变,从黑到白。
然后添加了第三种颜色,红色。
将红色停止点从默认的50%更改为83%
然后添加了第四种颜色黄色
With Selection.ShapeRange.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 0, 0)
.BackColor.RGB = RGB(250, 250, 250)
.TwoColorGradient msoGradientHorizontal, 1
End With
Selection.ShapeRange.Fill.Visible = msoTrue 'Added Red
Selection.ShapeRange.Fill.Visible = msoTrue 'Moved Red from 50% to 83%
Selection.ShapeRange.Fill.Visible = msoTrue 'Added Yellow
我希望找到一种从Swatch Shape(1-8)中提取现有颜色以更新MASTER中关联的Gradient Stop(1-8)的方法,就像这样。...
...Shape("Master").Gradient1.backcolor.fill = ...Shape("Swatch1").Backcolor.fill
无需编码从色板控件传递的RGB
...Shape("Swatch1").BackColor.RGB = RGB(TextRed.value, TextGreen.value, TextBlue.value)
进入
...Shape("Master").Gradient1.BackColor.RGB = RGB(TextRed.value, TextGreen.value, TextBlue.value)