Dosya İçerisinde Var Mı Yok Mu?

1 2
28/02/2024, 14:19

cdenktas

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..
28/02/2024, 15:25

onur_can

Ö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
28/02/2024, 15:38

cdenktas

(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.
28/02/2024, 16:28

atoykan

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.
29/02/2024, 09:42

cdenktas

(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]
[img]
[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
29/02/2024, 10:46

atoykan

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