Dizindeki Dosyalar

Katılım
8 Eylül 2008
Mesajlar
73
Excel Vers. ve Dili
2003 ing
Merhaba Arkadaşlar,
Dizindeki dosyaları bir listbox`ta göstermem gerekiyor, ancak bu noktada takıldım. Yardımcı olabilirseniz sevinirim.

Saygılarımla.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,737
Excel Vers. ve Dili
Excel 2019 Türkçe
Önce arama yapın derim. Forumda birçok örnek mevcut.
 
Katılım
8 Eylül 2008
Mesajlar
73
Excel Vers. ve Dili
2003 ing
Necdet Yeşertener`in bir konuda yazmış olduğu kod işime yaradı.
Sub DosyaBul()
Set Dosyalar = Application.FileSearch
With Dosyalar
.LookIn = "C:\" 'Buraya arama yapacağınız dizini yazınız
.SearchSubFolders = False 'yazdığınız dizinde varsa alt dizinleri de arama yaptıracaksanız değerini True yapınız
.Filename = "*.xls"
If .Execute() > 0 Then
Buldum = 1
Adet = .FoundFiles.Count
For i = 1 To Adet
ListView1.ListItems.Add , , Replace(.FoundFiles(i), dizin, "")
Next i
End If
End With
End Sub

ancak bu seferde listwiev de tıklanan dosyasını açmak istediğimde sorun yazıyorum.
Shell "WINWORD " & """C:\deneme.doc"""
şeklinde açmam gerekiyor.
Ben listedeki dosyaları direkt olarak açamam mı? doc veya herhangi uzantılı bir dosyayı?

veya diyelimki üç uzantımız var .exe .doc ve .txt seçilen dosyayının uzantısını bulup buna göre if döngüsüne sokabilirmiyiz? Kod bilgim bu konuda eksik.
Yardımcı olabilirmisiniz?
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,737
Excel Vers. ve Dili
Excel 2019 Türkçe
Ben de 2007 yüklü olduğundan Application.FilseSearch fonksiyonu ben de çalışmıyor.
 
Katılım
8 Eylül 2008
Mesajlar
73
Excel Vers. ve Dili
2003 ing
hamitcan Bey, başka bir yoldan yapamazmıyız?

ListView e aldıktan sonra
"Workbooks.Open Filename:" ile xls dosyalarını açabiliyorum. Ancak doc dosyalarını açamıyorum.
Uzantıları algılayabilecek birşey yapabilirmiyiz? ve uzantıya göre exe yi if ile aldırsak?
Doc u da SHELL "WINWORD " & """dosya.doc""" komutu ile açılabilir sanırım?

yardımcı olursanız sevinirim,
Saygılarımla.
 
Son düzenleme:

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,737
Excel Vers. ve Dili
Excel 2019 Türkçe
Basit bir örnek hazırladım. Umarım size bir fikir verir.
Kod:
Const yol = "C:\"
Dim ds As Object
Dim f As Object

Private Sub CommandButton1_Click()
    Set wrd = CreateObject("word.document")
    uzanti = ds.GetExtensionName(ListBox1.Column(0))
    If LCase(uzanti) = "xls" Then Workbooks.Open yol & ListBox1.Column(0)
    If LCase(uzanti) = "doc" Then wrd.Application.Documents.Open yol & ListBox1.Column(0)
End Sub



Private Sub UserForm_Initialize()
    ListBox1.Clear
    Set ds = CreateObject("Scripting.FileSystemObject")
    Set f = ds.GetFolder(yol)

    For Each dosya In f.Files
    ListBox1.AddItem dosya.Name
    Next dosya
End Sub
 
Katılım
8 Eylül 2008
Mesajlar
73
Excel Vers. ve Dili
2003 ing
hamitcan Bey,
If uzanti = "doc" Then Shell "WINWORD.exe " & """" & ListBox1.Column(0) & """"
olarak açmaya çalışıyorum word belgelerini ancak açamıyor, garip bir hata veriyor.

Hamitcan Bey, başka türlü açabilirmiyiz word belgelerini?
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,168
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Sn. abonem aşağıdaki kodları denermisiniz, evvelce yine bu siteden temin ettiğim kodlardır.
Kolay gelsin

sanıyorum kodlar olmadı.
 
Son düzenleme:

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,168
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Start = Now
TB1.[a:D] = ""
TB2.[a:D] = ""

Not : gülen yüzler a : d olacak.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,737
Excel Vers. ve Dili
Excel 2019 Türkçe
hamitcan Bey,
If uzanti = "doc" Then Shell "WINWORD.exe " & """" & ListBox1.Column(0) & """"
olarak açmaya çalışıyorum word belgelerini ancak açamıyor, garip bir hata veriyor.

Hamitcan Bey, başka türlü açabilirmiyiz word belgelerini?
Kodda birkaç hata yapmışım, düzelttim. Şimdi bir daha deneyin.
 
Katılım
8 Eylül 2008
Mesajlar
73
Excel Vers. ve Dili
2003 ing
hamitcan Bey, ilgi ve alakanız için teşekkürler.

Saygılarımla.
 
Son düzenleme:
Üst