ho provato però adesso ricevo un'errore
codice:
Private Sub MDIForm_Load()
'Distanza da Sinistra
Dim ileft As Integer
'Distanza dall'alto
Dim iTop As Integer
'path dei file
Dim strpath As String
'Array che conterrà i nomi
Dim arrayIMG As Variant
'Imposta i margini
ileft = 200
iTop = 200
strpath = "D:\File Utili\VB Utility\Anteprima immagini\immagini\"
Thefile$ = Dir$("D:\File Utili\VB Utility\Anteprima immagini\immagini\*." & "jpg")
'Ciclo i file per recuperarne i nomi
While Thefile$ <> ""
arrayIMG = arrayIMG & Thefile$ & "#"
Thefile$ = Dir$
Wend
'Tolgo l'ultimo # per non avere un elemento dell'array vuoto
arrayIMG = Left(arrayIMG, Len(arrayIMG) - 1)
'Creo l'array contenente i nomi dei file
arrayIMG = Split(arrayIMG, "#")
'Il ciclo viene fatto da zero fino all'ubound(ultimo elemento di array) di arrayIMG
For i = 0 To UBound(arrayIMG)
'Solo se devo creare un nuovo elemento
If i > 0 Then
Load Image1(i) 'creo un'altro (elemento del'array) del componente IMAGE
End If
With Image1(i) 'qui ricevo l'errore
.Left = ileft
.Top = iTop
.Visible = True
.Stretch = True
.Picture = LoadPicture(strpath & arrayIMG(i))
End With
If ileft > 9000 Then
iTop = iTop + 1000
ileft = 200
ileft = ileft + 2500 '<-- mi sposto a destra per evitare di caricare le immagini una sopra all'altra
Else
ileft = ileft + 2500 '<-- mi sposto a destra per evitare di caricare le immagini una sopra all'altra
End If
Next
End Sub
l'oggetto picture a come nome "Image1"
:master: