• DİKKAT

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

Listbox çift tıklama ile dosya açma

Katılım
10 Mayıs 2010
Mesajlar
91
Excel Vers. ve Dili
excel 2007 - Türkçe
Merhabalar
Ekte evraklarımın takibi amaçlı "evrak kayıt" isimli dosyada listbox ile çalışan bir userform var,
userformda gerekli süzme yapıldıktan sonra evrak karşıma çıkıyor,
istediğim ise listboxta çift tıklama yaptığımda listboxtaki 2. sutunda yazılan dosya isimli dökümanın açılması, yani döküman ismi kısmında ne yazıyorsa döküman adı o, o isimli dosya açılacak fakat dosya uzantısı .xls , .doc olabilir.
örnek olarak 1 2 tane xls ve doc uzantı dosya da ekledim.
Şimdide teşekkür ederim.
 

Ekli dosyalar

  • KYS.rar
    KYS.rar
    27.3 KB · Görüntüleme: 17
. . .

Ekteki dosyayı inceleyiniz.

Sayfa2 yi yardımcı olarak kullandım.
Listbox1 den satırı seçip, Döküman Aç butonunu tıklayın.
Dökümanlar, Ana dosya ile aynı klasör içerisinde olmalı.

. . .
 

Ekli dosyalar

Son düzenleme:
Merhabalar
Ekte evraklarımın takibi amaçlı "evrak kayıt" isimli dosyada listbox ile çalışan bir userform var,
userformda gerekli süzme yapıldıktan sonra evrak karşıma çıkıyor,
istediğim ise listboxta çift tıklama yaptığımda listboxtaki 2. sutunda yazılan dosya isimli dökümanın açılması, yani döküman ismi kısmında ne yazıyorsa döküman adı o, o isimli dosya açılacak fakat dosya uzantısı .xls , .doc olabilir.
örnek olarak 1 2 tane xls ve doc uzantı dosya da ekledim.
Şimdide teşekkür ederim.

Düğme1 e ait kodu bununla değiştir.

Kod:
Sub Düğme1_Tıklat()
UserForm1.Show 0
End Sub

Listbox nesnesine ait kod
çift tıklama ile dosya varsa açılıyor.

Koda kırmızı yerlerde belirttiğim gibi ardışık olmak üzere eklemeler yapabilirsiniz.

Kod:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Klasor = ThisWorkbook.Path
If Right(Klasor, 1) <> "\" Then Klasor = Klasor & "\"
son = 20
ReDim Uzanti(son)
 
Uzanti(1) = ".xls":
Uzanti(2) = ".xlsx"
Uzanti(3) = ".doc"
Uzanti(4) = ".docx"
Uzanti(5) = ".avi"
Uzanti(6) = ".jpg"
[COLOR="Red"]'Uzanti(7) = ".xlsm"[/COLOR]

For i = 1 To son
dosya = Klasor & ListBox1.List(ListBox1.ListIndex, 1) & Uzanti(i)
If CreateObject("Scripting.FileSystemObject").FileExists(dosya) = True Then
CreateObject("Shell.Application").Open (dosya)
Exit For
End If
Next
End Sub
 
Sayın Hüseyin Çoban yardımcı olarak kullandığınız sayfa 2 deki uzantıyla beraber yazdığınız dosyaları listboxtakilerin tamamı için yazmam gereklimi, çünkü 3 bine yakın evrak var,
Sayın Halit3 sizin kodunuzuda ekledim ama hiçbir dosya açılmadı acaba sizde denediniz mi? tüm dosyalar kys adı verilen klasörün içinde olacak.
Sayın Halit3 düzeltme yapıyorum .doc uzantılı olan dosya açılıyor diğer .xls uzantılılar açılmadı
 
Sayın Hüseyin Çoban yardımcı olarak kullandığınız sayfa 2 deki uzantıyla beraber yazdığınız dosyaları listboxtakilerin tamamı için yazmam gereklimi, çünkü 3 bine yakın evrak var,
Sayın Halit3 sizin kodunuzuda ekledim ama hiçbir dosya açılmadı acaba sizde denediniz mi? tüm dosyalar kys adı verilen klasörün içinde olacak.
Sayın Halit3 düzeltme yapıyorum .doc uzantılı olan dosya açılıyor diğer .xls uzantılılar açılmadı

Kodun birinci bölümünü yaptınızmı ?

Dosya ekte

Not: Dosyalar aynı klasörde yan yana olmalı
 

Ekli dosyalar

. . .

Hayır Sayfa2 ye giriş yapmanıza gerek yok. Oraya klasör içerisinde olan dosyaların listesini kendisi yazacaktır.

Döküman aç kodlarını bunlar ile değiştiriniz.
Yeni sayfa açıldığında Userformu kapatacaktır.

Kod:
Private Sub CommandButton7_Click()
If Sheets("Sayfa2").Range("C1") = "YOK" Then
MsgBox " Dökümanı Yok "
Else
yol = ThisWorkbook.Path & "\"
isim = Sheets("Sayfa2").Range("c1")
Workbooks.Open (yol & isim)
[B][COLOR="Red"]Unload Me[/COLOR][/B]
End If
End Sub

. . .
 
Sayın Halit3, ilk kodu eklemediğim için xls dosyaları açılmıyormuş, ilginç sebebini anlayamadım. Çok teşekkür ediyorum.
Sayın Hüseyin, sizin kodunuzda da örnek olarak "kalite politikası" olan satıra tıklıyorum, klasörde kalite politikası.doc olmasına rağmen kendi kendine olmayan bir dosya açıyor, kalite politikası.xls dosyası
 
sizin kodunuzda da örnek olarak "kalite politikası" olan satıra tıklıyorum, klasörde kalite politikası.doc olmasına rağmen kendi kendine olmayan bir dosya açıyor, kalite politikası.xls dosyası

. . .

Dediğiniz gibi, ilginç bir durum. Bir kaç revize yaparak denemeler yaptım ama hâlâ aynı exceli açıyor.

Düzeltme:
Hatayı buldum.
Aşağıdaki satırın değişmesi gerekiyor.
Kod:
Workbooks.Open (yol & isim)

yerine
Kod:
CreateObject("Shell.Application").Open (yol & isim)

. . .

. . .
 
Son düzenleme:
Sayın Halit3, ilk kodu eklemediğim için xls dosyaları açılmıyormuş, ilginç sebebini anlayamadım. Çok teşekkür ediyorum.
Sayın Hüseyin, sizin kodunuzda da örnek olarak "kalite politikası" olan satıra tıklıyorum, klasörde kalite politikası.doc olmasına rağmen kendi kendine olmayan bir dosya açıyor, kalite politikası.xls dosyası

Userformla ilgili bir durum bu userfom1 ShowModal özellihini False yapmak gerekiyor veya açılışta UserForm1.Show 0 kodu böyle kullanarak False yapıyoruz.

Bunun açıklaması kısaca şöyle userform açılınca excelin kendisine müdahale etmek yani userform açıkken hücrelere bir şeyler yazılabiliyor.
 
Sayın Hüseyin ve Halit sizlere çok teşekkür ediyorum, sizleri de yordum kusura bakmayın ama ikinizin yardımıyla istediğimi tam olarak gerçekleştirdim.
 
Geri
Üst