SelectManyFiles関数で選択したファイルのコレクションがあり、コレクション関数の各図面で複数のプライベートサブを実行したい。ここに私のコードがあります:
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
ループに何か問題があると思いますが、正確にはわかりません!どんな助けも大歓迎です。
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が提供するものをご覧ください。スカラー(string、long、double、Booleanなど)の場合、Drawing
をVariantとして宣言する必要があります。すべてのコレクションアイテムがオブジェクトである場合にのみ、Objectを使用できます。