• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Userforma değişebilen resim aktarma ?

Katılım
31 Ağustos 2010
Mesajlar
387
Excel Vers. ve Dili
Excel 2007-2010 Eng
Open Office Trk
Selamlar, sorumla ilgili bulabildiğim tüm başlıkları okudum ve inceledim ama malesef çözüm bulamadım.

"image" nesnesine "D:\resim\" klasöründeki resimleri "spinbutton" ile değiştirebilecek şekilde aktarabilecek kod mümkünmü.

yardımcı olabilirseniz çok çok sevinirim.
 

Ekli dosyalar

Aşağıdaki kodları userformun kod sayfasına kopyalayın.

Kod:
Dim sayi()
Const yol = "D:\resim\"

Private Sub SpinButton1_Change()
Image1.Picture = LoadPicture(yol & sayi(SpinButton1))
End Sub

Private Sub UserForm_Initialize()
Set nesne = CreateObject("Scripting.FileSystemObject")
Set klasor = nesne.GetFolder(yol)
say = klasor.Files.Count
ReDim Preserve sayi(say)
For Each dosya In klasor.Files
c = c + 1
sayi(c) = dosya.Name
Next
SpinButton1.Min = 1
SpinButton1.Max = say
End Sub
 
Hocam öncelikle çok teşekkür ederim. Ellerinize sağlık.
Fakat deneyemedim çünkü kodları kaydettikten sonra userform açma kodu hata veriyor ve açılmıyor nedense. bir çakışmamı oluyor aceba birtürlü çözemedim.

Sub ac()
UserForm1.Show (BU SATIR HATA VERİYOR)
End Sub
 
userformun kod sayfasındaki tüm kodları silin sadece benim verdiklerimi kopyalayın.
 
Alternatif:
İnitialize olayındaki klasör'e kendi yolunuzu Yazınız("D:\Resim")
dosyanız ektedir.:cool:
Kod:
Private Sub UserForm_Initialize()
Dim yol As String, dosya As String
Set coll = New Collection
klasor = "C:\Evren\Resimler"
dosya = Dir(klasor & "\*.jpg")
Do While dosya <> ""
    coll.Add klasor & "\" & dosya
    dosya = Dir
Loop
SpinButton1.Max = coll.Count
SpinButton1.Min = 0

End Sub

Private Sub SpinButton1_SpinDown()
On Error Resume Next
Image1.Picture = LoadPicture(coll(SpinButton1.Value))
End Sub

Private Sub SpinButton1_SpinUp()
On Error Resume Next
Image1.Picture = LoadPicture(coll(SpinButton1.Value))

End Sub
 

Ekli dosyalar

Hocam her ikinizede sonsuz teşekkürler. Ellerinize kollarınıza sağlık. Tam istediğim gibi oldu...
 
Hocam bir değişiklik konusunda tekarar yardımınızı rica edebilirmiyim. Ben farklı klasör yolları seçebilmek için "C" sütununa klasör yolları girdim. bu "C" sütununuda bir combobox' a rowsource olarak tanımladım. sanırım açılışta combobox boş olduğu için hata verdi. bunu çözmemede yardımcı olabilirmisiniz. teşekküler.

Dim sayi()
Const yol = "D:\resim\" (bu kısmı combobox1.text şeklinde değiştirdim)

Private Sub SpinButton1_Change()
Image1.Picture = LoadPicture(yol & sayi(SpinButton1))
End Sub

Private Sub UserForm_Initialize()
Set nesne = CreateObject("Scripting.FileSystemObject")
Set klasor = nesne.GetFolder(yol)
say = klasor.Files.Count
ReDim Preserve sayi(say)
For Each dosya In klasor.Files
c = c + 1
sayi(c) = dosya.Name
Next
SpinButton1.Min = 1
SpinButton1.Max = say
ComboBox1.RowSource = "Sheet1!C1:C30"
End Sub
 
Geri
Üst