Merhaba,
elimde mevcut çalışan bir macro dosyası var. Bu macro yu çalıştırınca listedeki model numaralarının resimlerini kaynak dosyadan belirttiğim dosyaya sorunsuz ama yavaş bir şekilde taşıyor.
Örnek olarak:
Model1
Model2
Model3
şeklinde isme göre tarama yapıp getiriyor.
Eper yapılabilirliği var ise benim ricam şu şekilde:
Ben listemde
Model1
Model2
Mode3 vs diye oluşturduğumda kaynak dosyada bulunan türevlerini de getirsin. Türevler genellikle ilgili modelin diğer resimleri oluyor ve Model1_1
Model1_2
Model1_3 diye gidiyor ve diğer satırlar için de aynı şey geçerli.
Şimdiden yardımlarınız için çok teşekkür ederim.
Ekte
Excel listedeki model isimlerine göre bir dosyadan başka dosyaya resim taşıma
Excel listedeki model isimlerine göre bir dosyadan başka dosyaya resim taşıma
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
-
islakates
- Mesajlar: 29
- Kayıt: Cmt Tem 08, 2023 12:56 am
- Meslek: Yazılım Uygulama ve Destek Elemanı
- Adınız: Zulkarneyin
- Soyadınız: Albayrak
Re: Excel listedeki model isimlerine göre bir dosyadan başka dosyaya resim taşıma
Kod: Tümünü seç
Sub dosya_tasi_hizli()
Dim kklasor As Object, hklasor As Object
Dim kaynakklasor As String, hedefklasor As String
Dim i As Long
Dim fso As Object
Dim dosya As Object
Dim dosyalar As Collection
Dim modelAdi As String
Dim anahtar As Variant
Application.ScreenUpdating = False
' Klasör seçimleri
Set kklasor = CreateObject("shell.application").BrowseForFolder(0, "Kaynak Klasörü Seçin", 50, &H0)
If kklasor Is Nothing Then
MsgBox "Lütfen Kaynak Klasör Seçin !", vbInformation, "BİLGİ"
Exit Sub
End If
Set hklasor = CreateObject("shell.application").BrowseForFolder(0, "Hedef Klasörü Seçin", 50, &H0)
If hklasor Is Nothing Then
MsgBox "Lütfen Hedef Klasör Seçin !", vbInformation, "BİLGİ"
Exit Sub
End If
kaynakklasor = kklasor.self.Path
hedefklasor = hklasor.self.Path
If Right(kaynakklasor, 1) <> "\" Then kaynakklasor = kaynakklasor & "\"
If Right(hedefklasor, 1) <> "\" Then hedefklasor = hedefklasor & "\"
Set fso = CreateObject("Scripting.FileSystemObject")
Set dosyalar = New Collection
' Kaynak klasördeki tüm dosyaları bir kez oku
For Each dosya In fso.GetFolder(kaynakklasor).Files
If LCase(fso.GetExtensionName(dosya.Name)) = "jpg" Then
dosyalar.Add dosya.Name
End If
Next dosya
' Listedeki model adlarını dolaş
For i = 2 To Range("A65536").End(xlUp).Row
modelAdi = LCase(Range("A" & i).Value)
For Each anahtar In dosyalar
' Model adı ile başlayan tüm dosyalar
If anahtar Like modelAdi & "*.jpg" Then
fso.CopyFile kaynakklasor & anahtar, hedefklasor, True
End If
Next anahtar
Next i
MsgBox "Tüm eşleşen dosyalar """ & kaynakklasor & """ adresinden """ & hedefklasor & """ adresine taşındı.", vbInformation, "BİLGİ"
Application.ScreenUpdating = True
End Sub
-
- Benzer Konular
- Cevaplar
- Görüntüleme
- Son mesaj
-
- 1 Cevaplar
- 940 Görüntüleme
-
Son mesaj gönderen MUSSAR
-
-
bir sütundaki değerleri başka bi sürunda benzersiz başlıklı filtre oluşturma
gönderen Kullanıcı Silindi 832 » » forum Formüller - 1 Cevaplar
- 957 Görüntüleme
-
Son mesaj gönderen Kullanıcı Silindi 832
-
-
- 1 Cevaplar
- 274 Görüntüleme
-
Son mesaj gönderen a_self_lion
-
- 0 Cevaplar
- 1058 Görüntüleme
-
Son mesaj gönderen manahtor
-
- 1 Cevaplar
- 289 Görüntüleme
-
Son mesaj gönderen a_self_lion