klasörden dosya kopyalama

Katılım
22 Ocak 2013
Mesajlar
20
Excel Vers. ve Dili
excel 2010 türkçe
Benim istediğim d: de bulunan bir dosyayı masa üstündeki belirttiğim klasöre kopyalaması ,çok denedim ama başaramadım bunu nasıl yapabilirim?

Birde diyelim ki belirttiğim klasör d: de "Panel" adında bir klasör onunda içinde "40" ve "60" adında iki klasör var bu durumda da kod çalışır mı? Yani belirttiğim dosya neyse onu "Panel" klasörünün içinde "40"ve"60" klasörlerinin içinde arayıp hangisinde varsa kopyalayıp masa üstünde belirttiğim klasöre kopyalamasıdır.
 
Katılım
22 Ocak 2013
Mesajlar
20
Excel Vers. ve Dili
excel 2010 türkçe
Merhabalar arkadaşlar;

Alttaki kodla;
Masa üstündeki bir klasörden,"d" de bulunan "mpf" uzantılı dosyaları "Transfer" klasörüne kopyalama yapabiliyorum.
Ancak kodda değişiklik yaparak "d" de bulunan "panel" klasöründen,masa üstünde bulunan "Transfer" klasörüne kopyalama yapmasını istiyorum.

Mümkün müdür? Yardımınızı bekliyorum..
İyi Çalışmalar


Sub test()
Dim BultenKlasoru As String, HedefKlasor As String
Dim fso As Object
Dim Bultenler As Object
Dim Bulten As Object
Dim s1 As Worksheet

Set fso = CreateObject("Scripting.FileSystemObject")
BultenKlasoru = Environ("USERPROFILE") & "\Desktop\40"
HedefKlasor = "d:\Transfer\"

If Not fso.FolderExists(HedefKlasor) Then
MsgBox "Hedef klasor mevcut değil, kopyalama yapılamaz."
Exit Sub
End If

If Not fso.FolderExists(BultenKlasoru) Then
MsgBox "Bulten klasörü mevcut değil, program iptal ediliyor."
Exit Sub
End If


Set s1 = ThisWorkbook.Worksheets("Transfer")
Set Bultenler = fso.GetFolder(BultenKlasoru)
On Error Resume Next
For i = 1 To s1.UsedRange.Rows.Count

ArananDosya = s1.Cells(i, 1)
s1.Cells(i, 2) = "Dosya bulunamadı"
For Each Bulten In Bultenler.Files
If fso.GetBaseName(Bulten.Path) = ArananDosya And LCase(fso.GetExtensionName(Bulten.Path)) = "mpf" Then
s1.Cells(i, 2) = ""
Err.Clear
fso.CopyFile Bulten.Path, HedefKlasor
If Err.Description <> "" Then
s1.Cells(i, 2) = "Dosya bulundu ama kopyalanamadı. Hata kodu:" & Err.Description
Else
s1.Cells(i, 2) = "Kopyalandı"
End If
End If
Next

Next i
End Sub
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,853
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Dosyanın son hali burada
 

Ekli dosyalar

Katılım
22 Ocak 2013
Mesajlar
20
Excel Vers. ve Dili
excel 2010 türkçe
Halit Bey ilginize teşekkürler;

Gönderdiğiniz dosyayı inceledim ancak burada normal bir listeden tek tek seçim yapılıyor.
Elimde bir klasör var ve bunda 1000-2000 arasında dosya var.Her gelen siparişe göre bu dosyalardan örneğin 50 yada 60 tanesini kullanıyorum.
Amacım;
Her seferinde bunları tek tek 2000 tane dosyanın içinden arayıp bulup kopyalamaktansa,
Bu dosya isimleri hazırladığım excel listesinde oluşuyor zaten.Bir buton olsa bastığımda d: de ki panel klasöründen alıp masa üstündeki örneğin; Transfer klasörüne kopyalasa..

Ekte excel dosyasını gönderiyorum.Orada panel sayfasında program kodları bölümünü göreceksiniz bunlar otomatik oluşuyor.O kodların gene aynı dosya içinde bulunan transfer sayfasına kopyalansın ve transfer sayfasıda oluşacak olan butona bastığımda kopyalama işlemini gerçekleştirsin istiyorum.

Mevcut haliyle yapıyor zaten ancak üzerinde oynama yapılıp. d: deki panel klasöründen alıp masa üstündeki klasöre kopyalama yapması gerkiyor..

Umarım anlatabilmişimdir...
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,853
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Halit Bey ilginize teşekkürler;

Gönderdiğiniz dosyayı inceledim ancak burada normal bir listeden tek tek seçim yapılıyor.
Elimde bir klasör var ve bunda 1000-2000 arasında dosya var.Her gelen siparişe göre bu dosyalardan örneğin 50 yada 60 tanesini kullanıyorum.
Amacım;
Her seferinde bunları tek tek 2000 tane dosyanın içinden arayıp bulup kopyalamaktansa,
Bu dosya isimleri hazırladığım excel listesinde oluşuyor zaten.Bir buton olsa bastığımda d: de ki panel klasöründen alıp masa üstündeki örneğin; Transfer klasörüne kopyalasa..

Ekte excel dosyasını gönderiyorum.Orada panel sayfasında program kodları bölümünü göreceksiniz bunlar otomatik oluşuyor.O kodların gene aynı dosya içinde bulunan transfer sayfasına kopyalansın ve transfer sayfasıda oluşacak olan butona bastığımda kopyalama işlemini gerçekleştirsin istiyorum.

Mevcut haliyle yapıyor zaten ancak üzerinde oynama yapılıp. d: deki panel klasöründen alıp masa üstündeki klasöre kopyalama yapması gerkiyor..

Umarım anlatabilmişimdir...
Dosyanın son hali 3 nolu mesajda
 
Katılım
22 Ocak 2013
Mesajlar
20
Excel Vers. ve Dili
excel 2010 türkçe
Halit Bey;
Sanırım yaklaştık ama bir kaç sorun var

1.tuşla A sütununa dosyaların bulunduğu panel klasörü belirtiyorum bunda bir sorun yok.

2. tuşla ise belirttiğim panel klasörden kopyalamak istediğim dosyaların isimlerini C sütununa yazarak işlemi gerçekleştiriyorum.
Ancak şöyle bir sorun çıkıyor;
Diyelimki panel klasöründe A,B,C,D,E isimlerinde 5 tane dosya var.Ben ise

C sütununa A ve F dosyasını kopyalaması için isimleri yazıyorum.

Sonuç şöyle oluyor;A dosyasını kopyalıyo,F dosyasını ise Panel klasöründe olmamasına rağmen diğer dosyalardan birinin ismini değiştirerek kopyalıyo.

Ancak ben F dosyasının olmadığını belirtmesini istiyorum yani karşılığı yoksa kopyalama yapmaması gerekiyor dosya bulunamadı diye yanına yazmasını istiyorum.

Birde ayrıyetten kalan 3 tane dosya içinse içlerinden birini isimsiz olarak kopyalıyo.(bunu yapmaması gerekiyo)


Yani bu çalışma genel olarak isim değiştirme üzerine yapılmış sanırım,sizde bunun üzerinden değişiklik yaptınız anladığım kadarıyla.

Yukarıda belirttiğim değişiklikleride yapabilirseniz tam olarak işimi görmüş olacak.

İyi Çalışmalar...
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,853
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Halit Bey;
Sanırım yaklaştık ama bir kaç sorun var

1.tuşla A sütununa dosyaların bulunduğu panel klasörü belirtiyorum bunda bir sorun yok.

2. tuşla ise belirttiğim panel klasörden kopyalamak istediğim dosyaların isimlerini C sütununa yazarak işlemi gerçekleştiriyorum.
Ancak şöyle bir sorun çıkıyor;
Diyelimki panel klasöründe A,B,C,D,E isimlerinde 5 tane dosya var.Ben ise

C sütununa A ve F dosyasını kopyalaması için isimleri yazıyorum.

Sonuç şöyle oluyor;A dosyasını kopyalıyo,F dosyasını ise Panel klasöründe olmamasına rağmen diğer dosyalardan birinin ismini değiştirerek kopyalıyo.

Ancak ben F dosyasının olmadığını belirtmesini istiyorum yani karşılığı yoksa kopyalama yapmaması gerekiyor dosya bulunamadı diye yanına yazmasını istiyorum.

Birde ayrıyetten kalan 3 tane dosya içinse içlerinden birini isimsiz olarak kopyalıyo.(bunu yapmaması gerekiyo)


Yani bu çalışma genel olarak isim değiştirme üzerine yapılmış sanırım,sizde bunun üzerinden değişiklik yaptınız anladığım kadarıyla.

Yukarıda belirttiğim değişiklikleride yapabilirseniz tam olarak işimi görmüş olacak.

İyi Çalışmalar...
Dosyanın son hali 3 nolu mesajda
 
Katılım
22 Ocak 2013
Mesajlar
20
Excel Vers. ve Dili
excel 2010 türkçe
Halit Bey günaydın.

Yine tam olmadı sanırım;

En azından B sütunu kalmalı.
A sütununa X klasörünü belirtiyorum ve içinde 2000 tane dosya var.Bunu yapıyor problem yok.
Ancak B sütununa da 2000 tane dosyadan hangilerini kopyalamasını istediğimi belirtmeliyim.
Diyelim ki B sütununa 50 tane dosya ismi gireceğim programda 2000 tane dosyanın içinden belirttiğim 50 dosyayı kopyalayacak.Yani tek tek aramayacağım. Belirttiğim 50 dosyadan, örneğin, 5 tanesi yoksa onun karşısına da dosya bulunamadı yazmalı.

Ekte bir örnekle açıkladım.

İyi çalışmalar...
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,853
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Halit Bey günaydın.

Yine tam olmadı sanırım;

En azından B sütunu kalmalı.
A sütununa X klasörünü belirtiyorum ve içinde 2000 tane dosya var.Bunu yapıyor problem yok.
Ancak B sütununa da 2000 tane dosyadan hangilerini kopyalamasını istediğimi belirtmeliyim.
Diyelim ki B sütununa 50 tane dosya ismi gireceğim programda 2000 tane dosyanın içinden belirttiğim 50 dosyayı kopyalayacak.Yani tek tek aramayacağım. Belirttiğim 50 dosyadan, örneğin, 5 tanesi yoksa onun karşısına da dosya bulunamadı yazmalı.

Ekte bir örnekle açıkladım.

İyi çalışmalar...
Dosyanın son hali 3 nolu mesajda
 
Katılım
22 Ocak 2013
Mesajlar
20
Excel Vers. ve Dili
excel 2010 türkçe
Halit Bey;
Asıl sorun o ya zaten bir program yazılmasını istememin nedeni o zaten.
Yani 2000 tane dosyanın içinden onları arayıp bulmak ve kopyalamak çok zaman alıyor.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,853
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Halit Bey;
Asıl sorun o ya zaten bir program yazılmasını istememin nedeni o zaten.
Yani 2000 tane dosyanın içinden onları arayıp bulmak ve kopyalamak çok zaman alıyor.
Dosyanın son hali 3 nolu mesajda
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,853
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Dosyanın son hali 3 nolu mesajda
 
Katılım
22 Ocak 2013
Mesajlar
20
Excel Vers. ve Dili
excel 2010 türkçe
Halit Bey;
1. butona bastığımda dosya isimleri listeleniyor ancak A ve B sütunun ikisinde de listeleniyor.
Sadece A da listelenmeli ve B sütununu ben elle yazarak belirtmeliyim.
Daha sonra bulup kopyaladığını "kopyaladı" bulamadığını ise bulunamadı demeli.



Ben size bulduğum bir örnek gönderiyor bir kontrol eder misiniz. Ancak bu gönderdiğimde adresler sabit sizin yaptığınız gibi seçemiyorum o yönden kötü. Yani belirli sabit bir klasörden kopyalayıp yine sabit bir klasöre kopyalıyor.Birde buton olayı da yok.

Bu örneği inceler misiniz..
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,853
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Halit Bey;
1. butona bastığımda dosya isimleri listeleniyor ancak A ve B sütunun ikisinde de listeleniyor.
Sadece A da listelenmeli ve B sütununu ben elle yazarak belirtmeliyim.
Daha sonra bulup kopyaladığını "kopyaladı" bulamadığını ise bulunamadı demeli.


Ben size bulduğum bir örnek gönderiyor bir kontrol eder misiniz. Ancak bu gönderdiğimde adresler sabit sizin yaptığınız gibi seçemiyorum o yönden kötü. Yani belirli sabit bir klasörden kopyalayıp yine sabit bir klasöre kopyalıyor.Birde buton olayı da yok.

Bu örneği inceler misiniz..
Dosyanın son hali 3 nolu mesajda
 
Katılım
22 Ocak 2013
Mesajlar
20
Excel Vers. ve Dili
excel 2010 türkçe
Halit Bey;:eek:k::

Çok teşekkürler sorun çözüldü...

Sağ olun çok makbule geçti...

İyi çalışmalar kolay gelsin...
 
Katılım
22 Ocak 2013
Mesajlar
20
Excel Vers. ve Dili
excel 2010 türkçe
Halit Bey;
Bu yaptığımız çalışmayı
Excel dosyasında sayfa1,sayfa2,sayfa3 gibi sayfalardan biri olarak ekleyebilir miyim.
 
Üst