*Klasörden excel dosyasını bulup açma..

Katılım
2 Ekim 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
Arkadaşlar merhaba ,

Bir çok sheet ten oluşan bir excel dosyam var. Buradan öğrendiklerimle otomatik olarak aktif sheet i otomatik olarak oluşturulan bir klasöre kaydediyor. O klasör ay ve yıla göre dizayn edilmiş alt klasörlerden oluşuyor.
Şimdi ben excel dosyamda bir userform ile (başka yol da olabilir) kaydetmiş olduğum dosyaları çağırmak istiyorm
Mesela userformda bir textbox olsun bir de çağır butonu. textbox a kayıt edilmiş olan dosya ismini (mesela 128-0908.xls dosyasını) yazayım, çağır a basınca da o dosya excelde açılsın. Bir nevi dosyalar arasında arasın ve getirsin yani.
EXcel dosyasını gönderemiyorum. fAkat onun basit bir benzerini gönderecegim. Makroları inceleyebilirsiniz.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosyanız ekte.:cool:
 
Katılım
2 Ekim 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
İnceliyorum hocam..
.............

Hocam eline sağlık. Ama istedigim tam olarak bu değil. Şimdi kaydedilen dosya anabilgisayarda. Ve kullanıcılar o ağdan dosyaya ulaşamıyor (paylaşıma dı $ ile yapıldığından. Sadece oraya kayıt var.)
dosya isimlerini açılan bir user form da yazıp getirmesi gerekiyoır. Böylece kullanıcı klasörü görmeyecek.
mesela kayıt yapılan klasör \\admin\kayıtlar diye bir klasörde olsun. "kayıtlar" klasörü paylaşıma açık, ve kullanıcı onu değiştirebilir izni verilmiş. Fakat paylaşım adı "kayıtlar$" oldugundan klasöre bunu bilmeyen kullanıcı ulaşamıyor. ağ bağlantılarında göremiyor yani. O yüzden öyle istiyorum.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
B2 hücresine dosyanın yolunu yazınız.
Dosya ekte.:cool:
 
Katılım
2 Ekim 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
Evren Gizlen hocam teşekkür ederim. Biraz oldu gibi. Ama tam istedigim bu degil yine. Size zahmet vermek istemiyorum ama...
Şimdi b2 hücresine herhangi bir yol yazmayacağız.
Şöyle izah edeyim : c:/ altında 2006, 2008, 2008 diye klasörler var. onların altında 2008-01. 2008-02, 2008-03 vs vs diye bir çok klasör var(her yıl içn böyle 2006-03 gibi) Ve programda mesela ekim ayı geldiginde kayıt yaparken de 2008 klasörü altında 2008-10 diye bir klasörü otomatik oluşturup kaydı oraya yapıyor benim programım..
Şimdi arama yaparken bütün bu klasörler altında arama yapacak. Ben herhangi bir yol yazamam oraya. Zira kullanıcı nerede olduğunu bilmemeli güvenlik açısından. sadece dosya adını yazacak ve butona bastığımızda bu klasörler arasdında arama yapacak.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Aşağıdaki kırmızı ile belirttiğim yere siz kendi dosya yolunuzu yazınız.
Yalnız bir tek kök dizini yazarsanız diskin içinde bulunduğu veri miktarına göre arayıp bulması saatler alabilr.:cool:
Dosya ekte.:cool:
Kod:
Private Sub CommandButton1_Click()
With Application.FileSearch
.NewSearch
.LookIn = "[B][COLOR="Red"]C:\Evren[/COLOR][/B]"
.SearchSubFolders = True
'Excel dosyası arama
.FileType = msoFileTypeExcelWorkbooks
.Execute
For i = 1 To .FoundFiles.Count
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objfile = objFSO.GetFile(.FoundFiles(i))
    If UCase(TextBox1.Text) & ".XLS" = UCase(objfile.Name) Then
        Workbooks.Open (objfile.parentfolder & "\" & objfile.Name)
        Exit Sub
    End If
Next i
End With
End Sub
 
Katılım
2 Ekim 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
Evren hocam bravo ya. Gerçekten harika. Ama dediginiz gibi çok yavaş çalışıyr. Zira epey dosya birikmiş. Buna bir çare bulmam lazım.
Başka nasl yapılabilir bi tavsiyeniz olur mu? kullanıcı o klasörü görmeden.
 
Üst