[英]How to loop through similar object in VBA
我在VBA中有一個用戶窗體,其中包含一些圖片。 我需要遍歷15張名稱如下的圖片:
imm1,imm2,...,imm15
然后創建圖片的路徑:
dir1 = "c:\..\pi1.jpg"
...
dir15 = "c:\..\pi15.jpg"
我想創建一個像這樣的循環:
For i = 1 To 15
(imm & i).Visible = True
(imm & i).Picture = LoadPicture(dir & i)
Next i
正確的方法是什么?
您可以在用戶Controls
屬性中使用其名稱引用每個圖像,如下所示:
Public Sub VisibleImages()
Dim i As Integer
For i = 1 To 15
Me.Controls("imm" & i).Visible = True
Next i
End Sub
注意:如果要在userforms代碼模塊之外使用該過程,則可能需要將Me
更改為userform的名稱。
我很喜歡這種語法:
Private Sub CommandButton1_Click()
Dim cCont As Control
For Each cCont In Me.Controls
If TypeName(cCont) = "Image" And VBA.Left$(cCont.Name, 3) = "imm" Then
cCont.Visible = True
cCont.Picture = LoadPicture("c:\..\pi" & VBA.Right$(cCont.Name, Len(cCont.Name) - 3) & ".jpg")
End If
Next cCont
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.