我创建了一个宏来使用 来制作形状AddShape
。我用 来命名它,.name
但我无法用宏在形状图标上添加标签。
如果您手动单击某个形状,则可以输入公式来在图标上放置标签。我找不到在宏中自动执行此操作的方法。
Set myDocument = Worksheets(1)
With myDocument.Shapes.AddShape(msoShapeFlowchartConnector, _
LCell, TCell, WCell, HCell)
.Name = "Bin" & i
.Select
' I would like to add the formula here!
End With
(这是在 Windows 10 上。)
答案1
通过使用“记录宏”这个简单技巧,我能够生成以下代码(在 Excel 2013 中):
Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "This is my shape"
With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 12). _
ParagraphFormat
.FirstLineIndent = 0
.Alignment = msoAlignLeft
End With
With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 12).Font
.NameComplexScript = "+mn-cs"
.NameFarEast = "+mn-ea"
.Fill.Visible = msoTrue
.Fill.ForeColor.ObjectThemeColor = msoThemeColorLight1
.Fill.ForeColor.TintAndShade = 0
.Fill.ForeColor.Brightness = 0
.Fill.Transparency = 0
.Fill.Solid
.Size = 11
.Name = "+mn-lt"
End With
上面的第一行似乎足以将文本输入形状;其余部分显然只是明确设置了默认属性。
答案2
我终于在调试器中深入挖掘并找到了.texteffect.text
我想要的结果。
With myDocument.Shapes.AddShape(msoShapeFlowchartConnector, _
LCell, TCell, WCell, HCell)
.Name = ShapeName
.TextEffect.Text = "My Label"