Dosya listeleme ve değiştirme

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

Dosya listeleme ve değiştirme

İleti#1)  ozuberk » 22 Kas 2021 15:18

Merhaba üstatlar “C:\Users\deneme\Documents\deneme” klasörüsün içinde yer alan birden fazladaki dosyaların içindeki “pdf, doc, xls” belgeleri listelemek ve dosya ismine göre başlarına yazdırmak istiyorum konu hakkında araştırdım ama istediğim herhangi bir sonuç bulamadım yardımcı olabilir misiniz?

Örneğin: “C:\Users\deneme\Documents\deneme” altında 4040, 4041, 4042 dosyalar var 4040 içinde ornek.pdf, ornek.xls veya doc belgeleri var.
Kullanıcı avatarı
ozuberk
Yeni Başlamış
 
Adı Soyadı:ozgur ozuberk
Kayıt: 14 Tem 2009 20:04
Konum: istanbul
Meslek: muhasebe
Yaş: 71
İleti: 45
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Dosya listeleme ve değiştirme

İleti#2)  ozuberk » 22 Kas 2021 17:29

Merhaba internetten bulduğum örneği aşağıdaki şekilde ayarladım kod düzgün çalışıyor. Listeyi aldıktan sonra A sütununda yer alan isme göre değişiklik yapması için kodu bulamadım.

Örnek Liste:
C:\Users\deneme\Documents\deneme\4240\deneme1.docx
C:\Users\deneme\Documents\deneme\4240\deneme1.pdf
C:\Users\deneme\Documents\deneme\4241\deneme2.docx
C:\Users\deneme\Documents\deneme\4241\deneme2.pdf



Dim satX As Integer
Sub DOSYA_LISTELE_2()
XDyol = "C:\Users\deneme\Documents\deneme\"
satX = 2: Application.ScreenUpdating = False
Columns("A:B").ClearContents: [A1] = "YOL": [B1] = "dsy"
liste (XDyol)
Application.ScreenUpdating = True
MsgBox "işlem tamam..", vbInformation, "::..Excelvba.net..::"
End Sub
Private Sub liste(XD As String)
Dim XDkls As Object, kls As Object, dsy As String
Set XDkls = CreateObject("Scripting.FileSystemObject").GetFolder(XD).Subfolders
XDsat = satX: dsy = Dir(XD & "\*.*")
While dsy <> ""
DoEvents
If Right(dsy, 3) = "pdf" Or Right(dsy, 4) = "docx" Then
Cells(XDsat, 2).Value = XD: Cells(XDsat, 3).Value = dsy: XDsat = XDsat + 1
End If: dsy = Dir
Wend: satX = XDsat
On Error GoTo 10
For Each kls In XDkls: liste (kls.Path)
10: Next: Set XDkls = Nothing
End Sub
Kullanıcı avatarı
ozuberk
Yeni Başlamış
 
Adı Soyadı:ozgur ozuberk
Kayıt: 14 Tem 2009 20:04
Konum: istanbul
Meslek: muhasebe
Yaş: 71
İleti: 45
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul

Cevap: Dosya listeleme ve değiştirme

İleti#3)  ozuberk » 23 Kas 2021 15:22

Sorunu aşağıdaki koda göre çözdüm. Dosya Adı, Yol, Link, Yeni Dosya Adı

Sub ad_degistir()
Dim i, son_satir
son_satir = Range("A1000000").End(xlUp).Row

For i = 2 To son_satir
If Range("D" & i).Value <> "" Then
Name Range("C" & i).Value As Range("B" & i).Value & "\" & Range("D" & i).Value
End If
Next i
End Sub
Kullanıcı avatarı
ozuberk
Yeni Başlamış
 
Adı Soyadı:ozgur ozuberk
Kayıt: 14 Tem 2009 20:04
Konum: istanbul
Meslek: muhasebe
Yaş: 71
İleti: 45
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul


Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: Google [Bot], Majestic-12 [Bot] ve 1 misafir

cron
Bumerang - Yazarkafe