Skip to main content

AccessTr.neT


Dosya İçerisinde Var Mı Yok Mu?

Dosya İçerisinde Var Mı Yok Mu?

Çözüldü #1
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..
.rar Belge Getirmek.rar (Dosya Boyutu: 343,25 KB | İndirme Sayısı: 3)
Cevapla
#2
Ö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
 İyi olan tek şey bilgi ve kötü olan tek şey de cehalettir. (Sokrates)



accessapplication
Son Düzenleme: 28/02/2024, 15:27, Düzenleyen: onur_can.
Cevapla
#3
(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.
Cevapla
#4
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.
Cevapla
#5
(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
Cevapla
#6
Makro içeren Excel dosyası (.xlsm) olarak kaydetmez .xlsx olarak kaydetmeye devam ederseniz kodları kaydederken ihmal eder.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da