.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.
 
Katılım
2 Ekim 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
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.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba

ek dosyayı masaüstüne kopyalayarak makroyu çalıştırınız.
 
Katılım
2 Ekim 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
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.
 
Katılım
2 Ekim 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
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.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
ekdeki klasörü masa üstüne kopyalayarak dener misiniz
 
Katılım
2 Ekim 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
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
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
userform'u tıklayınca listbox içinde ilgili klasördeki dosya adları görün müyor mu?
 
Katılım
2 Ekim 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
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.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
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.
 
Katılım
2 Ekim 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
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..
 
Katılım
2 Ekim 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
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.
 
Katılım
2 Ekim 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
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ı..
 
Katılım
2 Ekim 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
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
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,167
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
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.
 
Katılım
2 Ekim 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
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.
 
Katılım
2 Ekim 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003
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?
 
Katılım
2 Ekim 2007
Mesajlar
124
Excel Vers. ve Dili
office 2003

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..
 
Üst