...ws As Worksheet
dst = Environ$("userprofile") & "\Desktop\ExtractedPDFs"
If Dir(dst, vbDirectory) = "" Then
MkDir dst
Else
If Dir(dst & "\*.*") <> "" Then Kill dst & "\*.*"
End If
Set oShell =...
...Integer
Dim strDosyaAdi As String
strKlasorYolu = "C:\PDFNesneleri\"
If Dir(strKlasorYolu, vbDirectory) = "" Then
MkDir strKlasorYolu
End If
intSayac = 0
For Each objOLE In ActiveSheet.OLEObjects
If InStr(1, objOLE.ProgID, "PDF"...
...As Object
Dim objTempFolder As Object
strKlasorYolu = "C:\PDFNesneleri\"
If Dir(strKlasorYolu, vbDirectory) = "" Then
MkDir strKlasorYolu
End If
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTempFolder = objFSO.GetSpecialFolder(2)...
...oluşturulacak mı kontrol
yol = CreateObject("Wscript.Shell").SpecialFolders.Item("Desktop") & "\Dosya"
If Dir(yol, vbDirectory) = "" Then MkDir yol
' Veriyi Array'e al
veri = S1.Range("A1:L" & S1.Cells(S1.Rows.Count, "B").End(xlUp).Row).Value
' Benzersiz değerleri Dictionary ile bul
Set...
...= "C:\Users\muratgunay48\Documents\yazılar\"
' Eğer klasör yoksa oluştur
If Dir(klasorYolu, vbDirectory) = "" Then
MkDir klasorYolu
End If
' Son dolu satırı bul
sonSatir = wsKaynak.Cells(wsKaynak.Rows.Count, "A").End(xlUp).Row
' A1'den son satıra kadar...
Hocam emeğinize sağlık, tam istediğim gibi. Yalnız ilginçtir. Belgelerimdeki dosyaya değil de direk belgelerime kaydediyor. Dosya ismini değiştirdim (VBA'dan da tabi). Yok olmuyor.
...= "C:\Users\muratgunay48\Documents\yazılar\"
' Eğer klasör yoksa, oluştur
If Dir(klasorYolu, vbDirectory) = "" Then
MkDir klasorYolu
End If
' Son dolu satırı bul
sonSatir = wsKaynak.Cells(wsKaynak.Rows.Count, "A").End(xlUp).Row
' A1'den son satıra...
...' Klasörün varlığını kontrol edin, yoksa oluşturun
If Len(Dir(DosyaYolu & "\" & KlasorAdi, vbDirectory)) = 0 Then
MkDir DosyaYolu & "\" & KlasorAdi
End If
tarih = Format(Now, "dd.mm.yyyy hh'mm'ss") ' Tarih bilgisini alın
' Yedek dosyasını kaydet...
...dosyaYolu = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Süzülen Veriler\"
If Dir(dosyaYolu, vbDirectory) = "" Then MkDir dosyaYolu
' Verileri filtrele ve kaydet
For Each veriCell In rngVeri
If Trim(veriCell.Value) <> "" Then ' Boş hücreleri atla...
Siz baktınız mı acaba ? Şimdi denedim. Aman yine aynı sadece anahtar kelime büyükse sadece büyük yazan verileri getiriyor. Excel örneğini atmıştım. Excel sürümünün farklı olması değiştirir mi bu durumu bilmiyorum. bendeki 2013 verisiyon office
...dosyaYolu = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Süzülen Veriler\"
If Dir(dosyaYolu, vbDirectory) = "" Then MkDir dosyaYolu
' Verileri filtrele ve kaydet
For Each veriCell In rngVeri
If Trim(veriCell.Value) <> "" Then ' Boş hücreleri atla...
...dosyaYolu = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Süzülen Veriler\"
If Dir(dosyaYolu, vbDirectory) = "" Then MkDir dosyaYolu
' Verileri filtrele ve kaydet
For Each veriCell In rngVeri
If Trim(veriCell.Value) <> "" Then ' Boş hücreleri atla...
...UBound(klasorDizisi)
If klasorDizisi(i) <> "" Then
mevcutDizin = mevcutDizin & klasorDizisi(i) & "\"
' Klasör yoksa oluştur
If Dir(mevcutDizin, vbDirectory) = "" Then
MkDir mevcutDizin
End If
End If
Next i
End Sub
hocam kodunuzda yeniDosya.SaveAs yerine yeniDosya.SaveCopyAs şeklinde yazılsa daha işlevsel. sizin SaveCopyAs ile dosyanın kopyasını istediği isimle oluşturur. Hali hazırda daha önce açtığı excel dosyası hala açık kalır. SaveAs te ise daha önce açtığı excel dosyası kapanır. yeni dosya açılmış...
Emeğinize sağlık, teşekkür ederim.
Ama bu seçenek çok zaman alacak. 17.8GB excell dosyam var. Hepsi de farklı klasörlerde ve farklı yerlerde.
Sorunum tekrar ederse, önerinizi uygulayacağım. Teşekkürler. İyi çalışmalar.
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.