Sabit bir dizeler listesi üzerinde yinelemeliyim. Bildiğim kadarıyla, böyle bir yapıyı nasıl zarif bir şekilde programlayabilirim diye merak ediyordum.VBA'da bir "i" ("foo", "bar", "baz") yapısı var mı?
0
A
cevap
1
Zarif:
Ben seçileceği MSDN makalesine bağlantı bırakacağım? Sen karar ver.
Dene: benim için yeterince zarif
Sub test()
Dim x As Variant
For Each x In Array("foo", "bar", "bas")
Debug.Print x
Next
End Sub
0
Sorunuz biraz genel, ancak evet, For Each
kullanarak bunu yapabilirsiniz. Benim de bazı kodu yapıştırın edeceğiz ve bunu nasıl çalıştığını göreceksiniz:
Sub Example()
Dim tempFolderStr As String
Dim tempFullStr As String
Dim objFolder As Object
Dim objFile As Object
Dim fs As Object
(...)
Set objFolder = fs.GetFolder(tempFolderStr)
For Each objFile In objFolder.Files
tempFullStr = tempFolderStr & objFile.name
Call Delete_File(tempFullStr)
Next objFile
End Sub
Bu klasörde tempFolderStr bulduğu her dosyayı üzerinde yineleme olacak. https://msdn.microsoft.com/en-us/library/5ebk1751.aspx
, teşekkür ederim. –