相关疑难解决方法(0)

如何使用变量在VBA(Excel)中设置属性

拿这个代码:

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.

excel vba eval excel-vba

8
推荐指数
1
解决办法
7741
查看次数

标签 统计

eval ×1

excel ×1

excel-vba ×1

vba ×1