将数字添加到变量名称

时间:2014-05-06 07:07:54

标签: vba

我想为iGrafx编写一个宏,它将检查用户模型创建的对象数量并检查其类型(例如,行,块等)。要在写简单的循环中执行此操作,但我的问题是 - iGrafx对象具有名称Shape1,Shape2或Line1,Line2,如何编写循环,我可以使用TypeOf并添加到变量名称每次循环时形成一个数字?< / p>

Dim numObjects As Integer                              
Dim numObjectsArraySize As Integer
Dim procesObjectsTypes() As String
Dim index As Integer
Dim loopVarName As String
Dim indexString As String

numObjects = Document.ActiveDiagram.DiagramObjects.Count  
numObjectsArraySize = numObjects - 1                        

ReDim procesObjectsTypes(numObjectsArraySize)    

For index = 1 To numObjects
    indexString = CStr(index)
    loopVarName = "Shape" + indexString
    procesObjectsTypes(index - 1) = TypeName(loopVarName)
Next

1 个答案:

答案 0 :(得分:0)

这是一个平底船,因为我之前从未使用过iGrafx;如果他们坚持在Word VBA和Excel VBA中建立的对象模型约定,那么我猜测DiagramObjects集合有一个Item方法。

procesObjectsTypes(index - 1) = TypeName(Document.ActiveDiagram.DiagramObjects.Item(index)) & indexString