Soru Şarta göre kopyalama

Katılım
10 Ağustos 2004
Mesajlar
290
Excel Vers. ve Dili
Excel 2021 - Türkçe
Merhaba,

“C:\Users\kullanıcı\Desktop\A” klasöründe isim uzunluğu “001234, 001249” altı karakter olan pdf dosyalarını “C:\Users\kullanıcı\Desktop\B” klasörüne kopyalamak istiyorum.
Not: İsminde “001290 Deneme” yazanları almayacak.

Teşekkürler, kolay gelsin.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Soruyu ChatGPT'ye sordum yanıtı :
Kod:
Sub KopyalaPDFDosyalari()
    Dim KaynakKlasor As String
    Dim HedefKlasor As String
    Dim DosyaAdi As String
    Dim DosyaUzunlugu As Integer
    Dim Dosya As String
    
    ' Kaynak ve Hedef Klasör Yollarını Ayarlayın
    KaynakKlasor = "C:\Users\kullanıcı\Desktop\A\"
    HedefKlasor = "C:\Users\kullanıcı\Desktop\B\"
    
    ' Kaynak klasördeki dosyaları döngüye alın
    Dosya = Dir(KaynakKlasor & "*.pdf")
    
    ' Dosyaları döngüye alın
    Do While Dosya <> ""
        ' Dosya adının uzunluğunu hesaplayın
        DosyaAdi = Left(Dosya, Len(Dosya) - 4) ' ".pdf" uzantısını kaldırın
        DosyaUzunlugu = Len(DosyaAdi)
        
        ' Uzunluğu 6 karakter olan dosyaları kopyala
        If DosyaUzunlugu = 6 Then
            FileCopy KaynakKlasor & Dosya, HedefKlasor & Dosya
        End If
        
        ' Bir sonraki dosyaya geçin
        Dosya = Dir
    Loop
    
    MsgBox "PDF dosyaları başarıyla kopyalandı.", vbInformation
End Sub
 
Katılım
10 Ağustos 2004
Mesajlar
290
Excel Vers. ve Dili
Excel 2021 - Türkçe
Merhaba Necdet hocam emeğinize sağlık kod doğru çalışıyor.
 

Erdogan3434

Altın Üye
Katılım
14 Ocak 2022
Mesajlar
78
Excel Vers. ve Dili
Office 2013 Professional, Türkçe
Altın Üyelik Bitiş Tarihi
25-01-2028
Merhaba,
Soruyu ChatGPT'ye sordum yanıtı :
Kod:
Sub KopyalaPDFDosyalari()
    Dim KaynakKlasor As String
    Dim HedefKlasor As String
    Dim DosyaAdi As String
    Dim DosyaUzunlugu As Integer
    Dim Dosya As String
   
    ' Kaynak ve Hedef Klasör Yollarını Ayarlayın
    KaynakKlasor = "C:\Users\kullanıcı\Desktop\A\"
    HedefKlasor = "C:\Users\kullanıcı\Desktop\B\"
   
    ' Kaynak klasördeki dosyaları döngüye alın
    Dosya = Dir(KaynakKlasor & "*.pdf")
   
    ' Dosyaları döngüye alın
    Do While Dosya <> ""
        ' Dosya adının uzunluğunu hesaplayın
        DosyaAdi = Left(Dosya, Len(Dosya) - 4) ' ".pdf" uzantısını kaldırın
        DosyaUzunlugu = Len(DosyaAdi)
       
        ' Uzunluğu 6 karakter olan dosyaları kopyala
        If DosyaUzunlugu = 6 Then
            FileCopy KaynakKlasor & Dosya, HedefKlasor & Dosya
        End If
       
        ' Bir sonraki dosyaya geçin
        Dosya = Dir
    Loop
   
    MsgBox "PDF dosyaları başarıyla kopyalandı.", vbInformation
End Sub
Hocam Kaynak ve Hedef klasörlere kullanıcı adı yazmadan herhangi bir bilgisayarın masaüstünde çalışması için nasıl düzenleyebiliriz?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Hocam Kaynak ve Hedef klasörlere kullanıcı adı yazmadan herhangi bir bilgisayarın masaüstünde çalışması için nasıl düzenleyebiliriz?
Network ortamından söz ediyorsunuz sanırım.
bilgisayarın adresi ve kullanıcı adı vs gerekli diye biliyorum.
 

Erdogan3434

Altın Üye
Katılım
14 Ocak 2022
Mesajlar
78
Excel Vers. ve Dili
Office 2013 Professional, Türkçe
Altın Üyelik Bitiş Tarihi
25-01-2028
Tam olarak network ortamı değil hocam. Bir çalışma içerisinde bir parça olarak kullanacağım. Bu çalışmayı farklı lokal bilgisayarlarda kullanacak. Her bilgisayar için ayrı ayrı kullanıcı profili yazmama gerek olmadan kullanabilir miyim diye sordum?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Anladım yol olarak belirtebilirsiniz.7

Linki inceleyiniz. Masaüstünün yolunu anlamanın yolu.
 

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
427
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Merhaba,

Alternatif olarak; A ve B klasörlerinin tüm kullanıcılarda Masaüstünde olacağını varsayarak, aşağıdaki gibi de deneyebilirsiniz

KaynakKlasor = "C:\Users\" & environ("Username") & "\Desktop\A\"
HedefKlasor = "C:\Users\" & environ("Username") & "\Desktop\B\"
 

Erdogan3434

Altın Üye
Katılım
14 Ocak 2022
Mesajlar
78
Excel Vers. ve Dili
Office 2013 Professional, Türkçe
Altın Üyelik Bitiş Tarihi
25-01-2028
Merhaba,

Alternatif olarak; A ve B klasörlerinin tüm kullanıcılarda Masaüstünde olacağını varsayarak, aşağıdaki gibi de deneyebilirsiniz

KaynakKlasor = "C:\Users\" & environ("Username") & "\Desktop\A\"
HedefKlasor = "C:\Users\" & environ("Username") & "\Desktop\B\"
Tam istediğim gibi oldu çok teşekkürler.
 
Üst