拿这个代码:
With ActiveSheet.Shapes.AddShape(msoShapeRectangle, x, y, w, h).TextFrame
.Parent.Line.Visible = False
.Parent.Fill.ForeColor.RGB = RGB(r, g, b)
End With
Run Code Online (Sandbox Code Playgroud)
是否有任何VBA方式可以"执行"或"评估",就像可以在perl/python /中完成...这样文本.Parent.Line.Visible可以从变量(或单元格值)中提取,而不是硬编码?
ParentLine = ".Parent.Line.Visible"
ParentLineValue = "False"
With ActiveSheet.Shapes.AddShape(msoShapeRectangle, x, y, w, h).TextFrame
**eval**(ParentLine & "=" & ParentLineValue)
.Parent.Fill.ForeColor.RGB = RGB(r, g, b)
End With
Run Code Online (Sandbox Code Playgroud)
编辑:我发现Access的MSDN信息提到了Eval,但是当我执行我的代码时它会显示"未定义的子或函数",指向Eval(Excel似乎不知道这个函数).
编辑2:在SO上找到确定的(否定的)答案.
编辑3:似乎毕竟有一个答案,因为我不是在任意代码执行的一般解决方案之后.感谢GSerg帮助使用CallByName.