• DİKKAT

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

.xls uzantılı dosyaları arayıp getirme

Katılım
2 Ekim 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
ARkadaşlar excelin içine arama motoru gibi bir şey yerleştirmek mümkün mü?
Mesela bir form olsa textbox a uzantısı olmadan excel dosyasının ismini yazsak ve diyelim ki getir butonuna bassak ve dosya önümüzü gelse. Ağda ana bilgisayarda c:/dosyalar altında bazı .xls dosyaları tutuluyor. Bunları herkesin görmesini istemiyoruz ama bir şekilde ulaşmaları gerekiyor. Çözüm olarak bunu bulduk. Acaba yapabilir miyiz? dosyalar klasörünün altında da alt klasörler bulunmakta.
Bunu yapabilirsek (tabi makroları da gizleyecegim) isteyen istedigi dosyaya ulaşbilip değişiklik yapabilecek ve çıktı alacak.

Forumda "arama" "arama motoru" diye arattırdım ama istedigimi bulamadım. Bir kaç uygulama denedim ama aşırı yavaş sonuç veriyorlardı. Windowsun arama motorundan bile yavaş çalışıyordu yani sadece bir klasörü aramasına rağmen..
Yardımcı olabilirsenin gerçekten çok sevinecegim. EGer bunu yapabilmenin başka bir yolu varsa tavsiyelerinizi de alabilirim.
 
Teşekkürler ama bunlar benim istedigim gibi değil.
Benim dosyamda ve alt dosyamda sürekli yeni kayıtlar oluyor. Yani combobox ile olmaz. Diğer örnekte ise kaç dosya oldugunu buluyor.
Benim istedigim; userformda textbox a dosya adını yazıp butona basacağım ve o excel dosyası açılacak.
 
merhaba

ek dosyayı masaüstüne kopyalayarak makroyu çalıştırınız.
 
Teşekkürler uzmanamele
Maalesef ki istedigim bu değil.
Şimdi oradaki düğme3 e tıklayınca bir userform çıkacak. içinde bir textbox olacak. diyelim ki kitap_01 yazacağım oraya ve "ara ve getir" butonuna tıklayınca kitap_01 excel dosyası açılacak içeriğiyle birlikte. Yani istedigim o dosyaları listelemek degil.
 
ya web sitelerinde bakıyorum da benim aradığım şekilde bir arama motoru hiç bulamadım. Bu çok mu zor birşey acaba. Eger öyleyse aramayayım boşuna başka yöntem tavsiyesi varsa onu da söyleyebilirsiniz.
 
merhaba
ekdeki klasörü masa üstüne kopyalayarak dener misiniz
 
uzmanamele bey ilginiz için içten teşekkür ederim. "acmak için dosya seçiniz" e tıklıyorum bir user form geliyor. tıklar tıklamaz kapanıyor. nereye yazmam gerekiyor dosya ismini
 
merhaba
userform'u tıklayınca listbox içinde ilgili klasördeki dosya adları görün müyor mu?
 
merhaba
userform'u tıklayınca listbox içinde ilgili klasördeki dosya adları görün müyor mu?

Tamam hocam yanlış yere atmışım ondanmış.. Kusura bakma

Ancak şimdi çok fazla excel dosyaları var benim klasörümde. Bu şekilde olması bana çok kolaylık sağlamaz.
ekte gönderiyorum örnek. o şekilde yapma şansımız olur mu?
Size zahmet veriyorum ama napayım istedigim bu değildi.
 
merhaba
istediğiniz şekilde olur tabiki.
örnek dosya için kolaylık sağlamaz fikrinize katılmıyorum.
yaklaşık 700 excel dosyası olan bir klasör için denedim, 1 saniyeden az süre içinde alfabetik olarak dosyaları sıralıyor ve seçilen dosyayı açıyor.
sizin dosya adını yazmanız bile 3-5 saniye sürer.
 
merhaba
istediğiniz şekilde olur tabiki.
örnek dosya için kolaylık sağlamaz fikrinize katılmıyorum.
yaklaşık 700 excel dosyası olan bir klasör için denedim, 1 saniyeden az süre içinde alfabetik olarak dosyaları sıralıyor ve seçilen dosyayı açıyor.
sizin dosya adını yazmanız bile 3-5 saniye sürer.

Tamam hocam bir deniyorum dediginiz şekilde..
 
hocam dediginiz gibi yapayım dedim. Fakat alt klasörlerdeki excel dosyalarını bulmuyor. ben o klasörün içine deneme diye bir klasör oluşturdum. O klasörün altında da deneme.xls oluşturdum. Onu bulamıyor maalesef.
 
Tekrar merhaba
Araştırmalar neticesinde yabancı bir forumda şunu buldum. İstedigime yakın bir şey ama bu dizinde bulunan dosyaların içindeki hücrelerde arama yapıyor galiba.
Sub SearchAndOpen()
Dim R As Range, FindMe As String, FileName As String, I As Integer, WS As Worksheet
Const Message As String = "Please enter the Address to search for in the box below:"
Const Title As String = "Address Search"
FindMe = InputBox(Message, Title)
If FindMe = "" Then Exit Sub
With Application.FileSearch
.LookIn = "N:\Installations"
.FileType = msoFileTypeExcelWorkbooks
.SearchSubFolders = True
.TextOrProperty = FindMe
.MatchTextExactly = True
.Execute
If .FoundFiles.Count = 0 Then
MsgBox "No files Found. Check your spelling and try again"
End If
For I = 1 To .FoundFiles.Count
FileName = .FoundFiles(I)
Workbooks.Open (FileName)
For Each WS In ActiveWorkbook.Worksheets
Set R = WS.Cells.Find(What:=FindMe, After:=WS.Range("B1"), _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
If Not R Is Nothing Then
Application.Goto R, Scroll:=True
Exit For
End If
Next WS
Next I
End With
End Sub
http://www.mrexcel.com/archive2/63100/73030.htm

hücre aramasının nerde yapıldığını bilsem onu iptal edecegim ama..
Zira benim istedigim dosya adından arama yapması..
 
Ve nihayet aradığımı buldum diyebilirim :) Network de arama yaptıramadım maalesef :(
Belki başka arkadaşlara yardımı olur diye paylaşmak istiyorum.

Benim problemim şu : makro da C:\Documents and Settings\USER\Desktop\
yerine \\murat\dosyalar$ yazdığımda sonuç bulamıyor aramada. Sebebini bilen var mı acaba?


'bir userform oluşturup içine bir button ve textbox ekleyin. buttona çift
' tıklayıp koca olarak aşağıdakini yazın..

Private Sub CommandButton1_Click()
Dim ExcelCommand As Object
Dim Temp

With Application.FileSearch
.NewSearch
.LookIn = "C:\Documents and Settings\USER\Desktop\"
.SearchSubFolders = True
.Filename = TextBox1.Value & ".xls"
.MatchTextExactly = True
.FileType = msoFileTypeAllFiles
End With
With Application.FileSearch
If .Execute() > 0 Then
MsgBox "Bu kadar dosya buldum : " & .FoundFiles.Count
For i = 1 To .FoundFiles.Count
Temp = MsgBox(.FoundFiles(i) & " Bu dosyanın açılmasını istermisin ?", vbOKCancel)
If Temp = 1 Then
Excel.Workbooks.Add (.FoundFiles(i))
End If
Next i
Else
MsgBox "Böyle bir dosya bulunmuyor"
End If
End With
End Sub
 
Belirtilen sürücüdeki xls dosyalarını bulur

Ekli örnek dosyada kod içerisinde belirtilen D sürücüsündeki xls uzantılı dosyaları a sutununa listeler (alt klasörler de dahil)
Bu listelemeye birde link verdirebilirsek, ayrıca D sürücüsü yerine bütün sürücülerde aramasını sağlayabilrsek sanırım istediğiniz olalcak.
Üstatlarımız kodu geliştirebilirler.
 
Ekli örnek dosyada kod içerisinde belirtilen D sürücüsündeki xls uzantılı dosyaları a sutununa listeler (alt klasörler de dahil)
Bu listelemeye birde link verdirebilirsek, ayrıca D sürücüsü yerine bütün sürücülerde aramasını sağlayabilrsek sanırım istediğiniz olalcak.
Üstatlarımız kodu geliştirebilirler.

hocam sizin üstünüzdeki mesajda olay çözülmüş durumda. Ancak networkde arama yaptırmıyor. Diyelim ki D sürücüsünde arama yaptırdık ama paylaşıma açık bir başka bilgisayarın klasöründe arama yaptırınca bulamıyor.
 
Arkadaşlar tekrar merhaba. Son problemin de kaynağını buldum ama çözümü bulamadım.
Şimdi kendi bilgisayarımda arama yapıp ağdaki bilgisayarda yapamamasının sebebi şu galiba: Ağdaki dosyanın paylaşım adının sonunda "$" var. mesela "dosyalar$" olsun paylaşım ismi. Paylaşım adının bu şekilde olması ağdaki bilgisayarlar tarafından dosyanın görülmemesi için. Sadece bilenler girebiliyor yani.
Ama sonunda $ olmayan paylaşılmış bir klasör içinde arama yaptırdığımızda aradığımızı bulabiliyoruz :)
İşte bunu çözemedik. bunda bir yardımcı olsanız varya o kadar sevinecegim ki. Paylaşım adının sonunda $ olmak zorunda.

Bir şey daha isteyecegim. Diyelim ki arama yaptırdığımız klasörün içinde "kitap.xls" diye bir dosya olsun. "kitap" diye aradığımda buluyor malum. fakat ben istiyorum ki mesela "kit" veya "tap" diye aradığımda da bulsun. Bunu nasıl sağlarız?
 

Bir şey daha isteyecegim. Diyelim ki arama yaptırdığımız klasörün içinde "kitap.xls" diye bir dosya olsun. "kitap" diye aradığımda buluyor malum. fakat ben istiyorum ki mesela "kit" veya "tap" diye aradığımda da bulsun. Bunu nasıl sağlarız?

Evet arkadaşlar bu kısmı da çözdüm. Şöyle
.Filename = TextBox1.Value & ".xls"

satırını ;

.Filename = TextBox1.Value & "*.xls"

olarak değiştirince dedigim şekilde oluyor :hihoho:

İyi de siz niye yardım etmiyorsunuz ya. Ben kendi kendime çözmeye başladım :)

Artık tek istedigim kaldı. O da network de neden arama yapmadığı. Üst mesajda sorduğum gibi. Ya uzman arkadaşlar rica ediyorum bi el atsanız. Onu çözmem bayağı zor gibi..
 
Geri
Üst