Vba 向变量名添加数字
我想为iGrafx编写一个宏,它将检查用户模型创建了多少个对象,并检查它们的类型,例如line、block等。。要在编写的简单循环中执行此操作,但我的问题是-iGrafx对象的名称为Shape1、Shape2或Line1、Line2,如何编写循环,以便每次循环时使用TypeOf并向变量名称Shape添加一个数字Vba 向变量名添加数字,vba,Vba,我想为iGrafx编写一个宏,它将检查用户模型创建了多少个对象,并检查它们的类型,例如line、block等。。要在编写的简单循环中执行此操作,但我的问题是-iGrafx对象的名称为Shape1、Shape2或Line1、Line2,如何编写循环,以便每次循环时使用TypeOf并向变量名称Shape添加一个数字 Dim numObjects As Integer Dim numObjectsArraySize As Integer Di
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
这是一个平底船,因为我以前从未使用过iGrafx;如果他们坚持在Word VBA和Excel VBA中建立的对象模型约定,那么我猜DiagramObjects集合有一个Item方法
procesObjectsTypes(index - 1) = TypeName(Document.ActiveDiagram.DiagramObjects.Item(index)) & indexString
检查loopVarName值会得到一个正常的字符串,但我想使用该变量中的字符串作为变量名来检查其类型。这几乎肯定不是正确的方法。我不熟悉iGrafx,但如果您向我们展示如何创建对象,例如Shape1,则可能会有所帮助。@Jean-FrançoisCorbett形状是由用户在程序中使用GUI创建的。我的目标是编写一个宏来导出通过“拖放”创建的模型所包含的所有数据和信息。我终于找到了它,从现在起,我的基础就是您对DiagramObjects的看法。谢谢: