AccessTr.neT
Dosya İçerisinde Var Mı Yok Mu? - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Excel (https://accesstr.net/forum-microsoft-excel.html)
+--- Forum: Excel Cevaplanmış Soruları (https://accesstr.net/forum-excel-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Dosya İçerisinde Var Mı Yok Mu? (/konu-dosya-icerisinde-var-mi-yok-mu.html)

Sayfalar: 1 2


Dosya İçerisinde Var Mı Yok Mu? - cdenktas - 28/02/2024

Merhaba Arkadaşlar;

Excel listesinde bulunan plakaları köprü yöntemiyle ilgili plakaya ait pdf dosyası geliyor, d sutünda belgenin durumu başlığı altında bu plaka ilgili dosyada pdf. var mı yok mu onu öğrenmek için ne tür kod veya formül yazabiliriz.

Yardımlarınız için çok teşekkür ederim..


RE: Dosya İçerisinde Var Mı Yok Mu? - onur_can - 28/02/2024

Örnek kod aşağıdaki gibidir, dosya yolunu kendinize göre değiştirin.
Private Sub DosyaKontrol_Click()
If Len(Dir("E:\Belge Getirmek\34bb34.pdf")) = 0 Then
MsgBox "34bb34.pdf dosyası bulunamadı"
Else
MsgBox "34bb34.pdf dosyası klasörde mevcuttur."
End If
End Sub



RE: Dosya İçerisinde Var Mı Yok Mu? - cdenktas - 28/02/2024

(28/02/2024, 15:25)onur_can yazdı: Örnek kod aşağıdaki gibidir, dosya yolunu kendinize göre değiştirin.
Private Sub DosyaKontrol_Click()
If Len(Dir("E:\Belge Getirmek\34bb34.pdf")) = 0 Then
MsgBox "34bb34.pdf dosyası bulunamadı"
Else
MsgBox "34bb34.pdf dosyası klasörde mevcuttur."
End If
End Sub

Merhabalar;

Elimde çok fazla plaka var, her bir plaka için ayrı ayrı koda yazmak mı gerekiyor.


RE: Dosya İçerisinde Var Mı Yok Mu? - atoykan - 28/02/2024

Excel sayfanıza bir buton ekleyin ve tıklandığında olayına aşağıdaki kodu girin
Dim ws As Worksheet, LastRow As Long, i As Long

Set ws = ThisWorkbook.Sheets("Sayfa1") ' Çalışmak istediğiniz sayfa adı
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' Son kullanılan satır

For i = 2 To LastRow ' Başlıkların olduğu ilk satırı atlar
belgeYolu = ws.Cells(i, 3).Value
If Len(belgeYolu) > 0 Then ' Belge sütunu boş değilse
On Error Resume Next
Open belgeYolu For Input As #1 ' Belgeyi açmaya çalış
If Err.Number = 0 Then
ws.Cells(i, 4).Value = "Var" ' Belge Durumu sütununa durum kaydı işle
Close #1
Else
ws.Cells(i, 4).Value = "Yok"
End If
On Error GoTo 0
Else
ws.Cells(i, 4).Value = "Yok"
End If
Next i
. Bu kod çalışmanızda kaç satır varsa hepsinde C sütunundaki köprüde yer alan dosyayı okur, açılıyor mu kontrol eder ve dosya mevcut olup açılıyorsa durum sütununa var aksi halinde yok yazar.


RE: Dosya İçerisinde Var Mı Yok Mu? - cdenktas - 29/02/2024

(28/02/2024, 16:28)atoykan yazdı: Excel sayfanıza bir buton ekleyin ve tıklandığında olayına aşağıdaki kodu girin
Dim ws As Worksheet, LastRow As Long, i As Long
   
    Set ws = ThisWorkbook.Sheets("Sayfa1")  ' Çalışmak istediğiniz sayfa adı
    LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row    ' Son kullanılan satır
   
    For i = 2 To LastRow    ' Başlıkların olduğu ilk satırı atlar
        belgeYolu = ws.Cells(i, 3).Value
            If Len(belgeYolu) > 0 Then  ' Belge sütunu boş değilse
                On Error Resume Next
                Open belgeYolu For Input As #1  ' Belgeyi açmaya çalış
                If Err.Number = 0 Then
                    ws.Cells(i, 4).Value = "Var"    ' Belge Durumu sütununa durum kaydı işle
                    Close #1
                Else
                    ws.Cells(i, 4).Value = "Yok"
                End If
                On Error GoTo 0
            Else
                ws.Cells(i, 4).Value = "Yok"
            End If
    Next i
. Bu kod çalışmanızda kaç satır varsa hepsinde C sütunundaki köprüde yer alan dosyayı okur, açılıyor mu kontrol eder ve dosya mevcut olup açılıyorsa durum sütununa var aksi halinde yok yazar.

[img][Resim: do.php?img=16554][/img]
[img][Resim: do.php?img=16555][/img]
[img][Resim: do.php?img=16556][/img]

Emeğinize sağlık, kuırum Excel olduğundan kodu ilgili yere yapıştırıp kaydedip, Excel den çıktığımdan tekrar kod kısmına girdiğimde exceldeki yapıştırdığım kodlar gözükmüyor, sebebi ne olabilir


RE: Dosya İçerisinde Var Mı Yok Mu? - atoykan - 29/02/2024

Makro içeren Excel dosyası (.xlsm) olarak kaydetmez .xlsx olarak kaydetmeye devam ederseniz kodları kaydederken ihmal eder.