• DİKKAT

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

klasörde dosya arama

Katılım
29 Mart 2016
Mesajlar
54
Excel Vers. ve Dili
türkçe
arkadaşlar merhaba
d sürücüsünde müşteri klasörünün içinde ahmet demir, ayşe uysal, hatice gök adında excel dosyası oldugunu var sayalım.
ana kayıt sayfasında d3 dütünuna yazdıgımız isim varsa istenilen isimdeki kayıt açılacak yok ise kayıt yok gibi uyarı çıkacak örnek dosya linki aşağıdadır.

http://www.dosya.tc/server9/wihqd4/ana_kayit_sayfasi.xlsx.html
 
Son düzenleme:
Kod:
Option Explicit
 
Sub askm_KONTROL()
    If Dir( ThisWorkbook.path § ""\Müşteri\" § Range("d3") ) = "" Then
        MsgBox "Belge yok !", vbCritical,"ASKM"
        Exit Sub
    Else
Workbooks.Open Filename:=ThisWorkbook.path § ""\Müşteri\" § Range("d3")
MsgBox "Deneme adlı dosyanız hazır"
         
    End If
End Sub
[\Code]
 
verdiğin bilgiler için teşekkürler
ancak ya makroda hata var yada ben yapamadım bi tarif edebilirmisin teşekkürler
 
verdiğin bilgiler için teşekkürler
ancak ya makroda hata var yada ben yapamadım bi tarif edebilirmisin teşekkürler
 
Bir modüle aşağıdaki kodları yazın. Akşam cepten yazdığım için birleştirme kodunu (&) yanlış yazmışım.
Öncelikle Müşteri adında klasör var mı ona bakıyor. Var ise içerisinde D3 de yazılı isimde belgeye bakıyor. Varsa açıyor. yoksa uyarı veriyor. Müşteri klasörü yoksa da uyarı veriyor.

Kod:
Option Explicit
Public Function FileFolderExists(strFullPath As String) As Boolean

    On Error GoTo EarlyExit
    If Not Dir(strFullPath, vbDirectory) = vbNullString Then FileFolderExists = True
    
EarlyExit:
    On Error GoTo 0
End Function
Sub askm_KONTROL()
Dim yol As String
Dim dosya As String
yol = ThisWorkbook.Path & "\Müşteri"
dosya = Range("D3").Value & ".xlsx" 'Buraya dosya uzantınızı yazın.

If FileFolderExists(yol) Then
    If Dir(yol & "\" & dosya) = "" Then
        MsgBox "Belge yok !", vbCritical, "ASKM"
        Exit Sub
    Else
        Workbooks.Open Filename:=yol & "\" & dosya
        MsgBox dosya & " adlı belgeniz açıldı, hazır...", vbInformation, "ASKM"
     End If
Else
    MsgBox "Dosya yolu bulunamadı. Klasörün olduğundan emin olun!", vbCritical, "ASKM"
End If
End Sub
 
başını ağrıtıyorum kusura bakma klasör yolunu gösterdiğim halde d3 de yazan isimdeki dosyayı bulmuyor bendeki koda bir bakarmısın




Sub askm_KONTROL()
Dim yol As String
Dim dosya As String
yol = ThisWorkbook.Path & "D:\Müşteri"
dosya = Range("D3").Value & ".xlsm" 'Buraya dosya uzantınızı yazın.

If FileFolderExists(yol) Then
If Dir(yol & "\" & dosya) = "" Then
MsgBox "Belge yok !", vbCritical, "ASKM"
Exit Sub
Else
Workbooks.Open Filename:=yol & "\" & dosya
MsgBox dosya & " adlı belgeniz açıldı, hazır...", vbInformation, "ASKM"
End If
Else
MsgBox "Dosya yolu bulunamadı. Klasörün olduğundan emin olun!", vbCritical, "ASKM"
End If
End Sub
 
Öncesinde function var onu yazdınız mı? Dilerseniz Bir klasöre örnek bir dosya ekleyip zipleyip eklerseniz direkt sayfanız üzerinde yardımcı olayım.
 
Dosya bulunamadı diyor. Sanırım sorunu anladım.
yol = ThisWorkbook.Path & "D:\Müşteri"
Burada ThisWorkbook.Path demek excel belgenizin olduğu klasör demek.
yol = "D:\Müşteri"
şeklinde değiştirirseniz düzelir.
 
hocam verdiğin bilgiler için çok teşekkür ederim. emeğine sağlık.
bir sorum daha olacak senden. aradıgımız ismi büyük küçük harf ayrımı olmadan arama yapabilirmiyiz. ve isteğimiz isimli dosya açıldıgında isminin oldugu yerde yeşil bir renk yanabilir mi o dosya yı açtıgımız belli olsun diye
tekrardan teşekkürler
 
İstediğiniz işlem tek adres için olduğundan yeşil renk olayını anlamadım. Eğer sırası ile dosya açtıracaksanız örnek dosya eklerseniz yardımcı olayım. askmadige34@hotmail.com adresine mail atın.
Kod:
Option Explicit
Public Function FileFolderExists(strFullPath As String) As Boolean

    On Error GoTo EarlyExit
    If Not Dir(strFullPath, vbDirectory) = vbNullString Then FileFolderExists = True
    
EarlyExit:
    On Error GoTo 0
End Function
Sub askm_KONTROL()
Dim yol As String
Dim dosya As String
yol = ThisWorkbook.Path & "\Müşteri"
dosya = Range("D3").Value & ".xlsx" 'Buraya dosya uzantınızı yazın.
dosya1=UCASE(Range("D3").Value)& ".xlsx"

If FileFolderExists(yol) Then
    If Dir(yol & "\" & dosya) = "" Then
        if Dir(yol & "\" & dosya1) = "" Then

        end if
             MsgBox "Belge yok !", vbCritical, "ASKM"
             Exit Sub
    Else
        Workbooks.Open Filename:=yol & "\" & dosya
        MsgBox dosya & " adlı belgeniz açıldı, hazır...", vbInformation, "ASKM"
     End If
Else
    MsgBox "Dosya yolu bulunamadı. Klasörün olduğundan emin olun!", vbCritical, "ASKM"
End If
End Sub
 
İlk dediğiniz işlemi aşağıdaki kodlar yapar.
2. işlemi yani ilk 3 harfini girip arama kısmı olur mu bilemiyorum. Bunun için önce dosyaları listelemek gerekir sanırım.
Kod:
Public Function FileFolderExists(strFullPath As String) As Boolean

    On Error GoTo EarlyExit
    If Not Dir(strFullPath, vbDirectory) = vbNullString Then FileFolderExists = True
    
EarlyExit:
    On Error GoTo 0
End Function
Sub askm_KONTROL()
Dim yol As String
Dim dosya As String
yol = "D:\Müşteri"
dosya = Range("D3").Value & ".xlsx" 'Buraya dosya uzantınızı yazın.
dosya1 = UCase(Range("D3").Value) & ".xlsx"

If FileFolderExists(yol) Then
    If Dir(yol & "\" & dosya) = "" Then
        If Dir(yol & "\" & dosya1) = "" Then

        End If
             MsgBox "Belge yok !", vbCritical, "ASKM"
             Exit Sub
    Else
    On Error GoTo ERR

        For i = 1 To Workbooks.Count
            If Workbooks(i).Name = Workbooks(dosya).Name Then
                MsgBox "Kitap zaten açık", vbInformation, "ASKM"
                Exit Sub
            End If
        Next i
ERR:

        Workbooks.Open Filename:=yol & "\" & dosya
        MsgBox dosya & " adlı belgeniz açıldı, hazır...", vbInformation, "ASKM"
        ThisWorkbook.Activate
     End If
Else
    MsgBox "Dosya yolu bulunamadı. Klasörün olduğundan emin olun!", vbCritical, "ASKM"
End If
End Sub
 
Public Function FileFolderExists(strFullPath As String) As Boolean

On Error GoTo EarlyExit
If Not Dir(strFullPath, vbDirectory) = vbNullString Then FileFolderExists = True

EarlyExit:
On Error GoTo 0
End Function
Sub askm_KONTROL()
Dim yol As String
Dim dosya As String
yol = "D:\Müşteri"
dosya = Range("D3").Value & ".xlsx" 'Buraya dosya uzantınızı yazın.
dosya1 = UCase(Range("D3").Value) & ".xlsx"

If FileFolderExists(yol) Then
If Dir(yol & "\" & dosya) = "" Then
If Dir(yol & "\" & dosya1) = "" Then

End If
MsgBox "Belge yok !", vbCritical, "ASKM"
Exit Sub
Else
On Error GoTo ERR

For i = 1 To Workbooks.Count
If Workbooks(i).Name = Workbooks(dosya).Name Then
MsgBox "Kitap zaten açık", vbInformation, "ASKM"
Exit Sub
End If
Next i
ERR:

Workbooks.Open Filename:=yol & "\" & dosya
MsgBox dosya & " adlı belgeniz açıldı, hazır...", vbInformation, "ASKM"
ThisWorkbook.Activate
End If
Else
MsgBox "Dosya yolu bulunamadı. Klasörün olduğundan emin olun!", vbCritical, "ASKM"
End If
End Sub



hocam yukarıdaki makroyu calıştırdıgımda belge bulunamadı diyor sizce makro hatalı olabilir mi bi bakabilirmisin
 
Dosyanız D içerisinde Müşteri klasöründe ise açması gerek.
 
Komutu F8 ile çalıştırın. yol ve dosya değişkenine ne dediğini kontrol edin.
 
Rica ederim. Hallolmasına sevindim.
 
Geri
Üst