我有一个我在SelectManyFiles函数中选择的文件集合,我想在集合函数中的每个Drawing上运行多个私有subs。这是我的代码:
Sub Main()
Dim Drawing As Object
Dim Drawings As Collection
Set Drawings = SelectManyFiles()
For Each Drawing In Drawings
'Call multiple private subs to run on each drawing
Next Drawing
End Sub
我觉得循环有问题但确实不确定!任何帮助表示赞赏。
答案 0 :(得分:11)
SelectManyFiles返回的集合未返回对象集合。它可能会返回一系列字符串,但这只是一个猜测。将您的子更改为此
Sub Main()
Dim Drawing As Variant
Dim Drawings As Collection
Set Drawings = SelectManyFiles()
For Each Drawing In Drawings
Debug.Print TypeName(Drawing)
Next Drawing
End Sub
看看Debug.Print给你的东西。如果它是任何标量(字符串,长整数,双精度数,布尔值等),那么您需要将Drawing
声明为变体。只有当所有集合项都是对象时,才能使用Object。
答案 1 :(得分:1)
试试
FOR X = 1 TO DRAWING.COUNT
'STUFF HAPPENS
NEXT X