Wie kann ich Variablen verwenden, um Eigenschaften in VBA (Excel)

Nehmen Sie diesen code:

With ActiveSheet.Shapes.AddShape(msoShapeRectangle, x, y, w, h).TextFrame
  .Parent.Line.Visible = False
  .Parent.Fill.ForeColor.RGB = RGB(r, g, b)
End With

Gibt es eine VBA-Möglichkeit, um "execute" oder "bewerten" wie kann man in perl/python/..., so dass der text .Parent.Line.Visible gezogen werden können aus einer Variablen (oder den Wert der Zelle), eher als hart codiert?

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

EDIT: ich fand MSDN-Informationen für den Zugang erwähnt Eval, aber wenn, führe ich meinen code, er sagt "nicht definierte Sub oder Function", dem Hinweis auf Eval (Excel scheint nicht zu wissen, diese Funktion).

EDIT 2: Gefunden die endgültige (negative) Antwort auf SO.

EDIT 3: Scheint, wie es ist, eine Antwort nach, denn ich bin nicht nach einer Allgemeinen Lösung für die Ausführung von beliebigem code. Dank GSerg für die Hilfe mit der Verwendung von CallByName.

  • Ich bin gespannt, Wann würde jemals wollen, dies zu tun?
  • Ich möchte einfach zu parametrieren, ein makro und nicht dazu zwingen, Benutzer zu Lesen, VBA, spielen Sie einfach mit Ihrer Tabellenkalkulation. Ich bin mir bewusst, die Auswirkungen auf die Sicherheit, aber das ist für limited-use nur. Vielleicht möchten Sie unterschiedliche Eigenschaften, alternativ auf, dass man.
  • ScriptControl ActiveX kann Ihnen helfen, zu bewerten, string mit jeder Application's Mitglied, check die Antwort.
InformationsquelleAutor asoundmove | 2011-04-18
Schreibe einen Kommentar