Frage von marc2108, 34

Visio VBA variable Variablen?

Hallo

Gibt es in Visio VBA eine Möglichkeit einer Variablen einen variablen Bestandteil zu geben?

Ich möchte folgenden Code

Dim GuideLineY1 As Shape 
Set GuideLineY1 = pag.AddGuide(visHorz, 0, 0) 
GuideLineY1.Cells("PinY").FormulaU = "=GUARD(Process.11!User.GuideLineY1)"

in einer for Schlaufe z.B: 100 mal laufen lassen, wobei das Y1 durch Y[Schleifenzähler] ersetzt wird, so à la

Dim GuideLineY[Schleifenzähler] As Shape 
Set GuideLineY[Schleifenzähler] = pag.AddGuide(visHorz, 0, 0) 
GuideLineY[Schleifenzähler].Cells("PinY").FormulaU = "=GUARD(Process.11!User.GuideLineY[Schleifenzähler])"
Antwort
von Suboptimierer, 16

Für genau so etwas sind Arrays gedacht.

Dim GuideLineY(100) As Shape
Dim i As Integer For i=LBound(GuideLineY) To UBound(GuideLineY)   Set GuideLineY(i) = ... Next

(ungetestet)

Kommentar von marc2108 ,

Danke, das klinkt sinnvoll. Und wie kann ich es machen, wenn die Variable zusammengesetzt wird aus Variable[EineNichtDurchArraysAbbildbareErgänzung]

Kommentar von Suboptimierer ,

Du kannst Variablennamen nicht dynamisch generieren.

Du könntest aber in einer Klasse einen Pool von Variablen halten, also eine Klasse mit privatem Array halten und die Arrayelemente per Namen adressieren.

Dann könntest du ungefähr so auf die Elemente zugreifen:

sthatsmyshape = "MyShape"
MsgBox MyClass.Formen(sthatsmyshape).Width ' Beispiel

"Formen" ist hierbei eine Getter-Methode. 

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten