• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Makroyla Klasör Kopyalama

Katılım
8 Temmuz 2014
Mesajlar
120
Excel Vers. ve Dili
Office 2016 Türkçe
Merhaba arkadaşlar.
Örnek çalışmalarımın bulunduğu "C:\İşlerim\Örnek\" adında bir klasör var her yeni iş ekledikçe bu klasörün klasörünü "C:\İşlerim\Örnek Kopya\" gibi çoğaltmak istiyorum. Makroyla mümkün müdür acaba?
C diskinde de bulunan "Örnek" adlı klasörü "Örnek Kopyala" ya da başka herhangi bir isimle çoğaltmak istiyorum.

Mümkünse Excel sayfasındaki "E5" Hücresinin içeriğiyle o klasörü adlandırmak şeklinde olsa daha makbule geçer. :)

Şimdiden teşekkür ederim. :)
 
Merhaba
Şöyle deneyin.
Kod:
 Private Sub CommandButton1_Click()

  Dim A As Object: Dim X, G As String
X = "C:\İşlerim\örnek"
If [e5] = "" Then MsgBox "Klasör adını [COLOR="Blue"]E5[/COLOR] hücresine yazınız.": Exit Sub
Set A = CreateObject("scripting.filesystemobject")
If A.FolderExists("C:\İşlerim\" & [e5].Value) = True Then
MsgBox [e5].Value & " isimli klasör zaten var"
Exit Sub
End If
If A.FolderExists(X) = False Then
MsgBox X & " KLASÖRÜ BULUNAMADI"
 Exit Sub
End If
MkDir "C:\İşlerim\" & [e5].Value
G = "C:\İşlerim\" & [e5].Value
If Right(X, 1) = "\" Then
X = Left(X, Len(X) - 1)
End If
If Right(G, 1) = "\" Then
G = Left(G, Len(G) - 1)
 End If
A.CopyFolder Source:=X, Destination:=G

End Sub
 
Son düzenleme:
Çok teşekkür ederim. Tık demeden çalıştı. :)

Mahcubiyetle iki benzer şey daha isteyebilir miyim? Hepsini bir arada yazınca maalesef kafa karışıklığı yaratıp yardım alamadım.

"C:\İşlerim\" dizinindeki herhangi bir klasörü açmak istiyorum. O anda seçili olan hücrede o klasörün adı bulunuyor. Seçili hücredeki içerik "İşlerim örnek1" varsayalım. ya da başka bir şey de olabilir. Seçili hücrenin içinde yazan klasörü "C:\İşlerim\" dizininden açmak istiyorum.

Seçili hücrenin içeriği "Örnek1" ise

"C:\İşlerim\örnek1"

Klasörü windows explorerda açılabilir mi? Böyle bir şey VB ile mümkün müdür?
 
Seçili hücrenin içeriği "Örnek1" ise

"C:\İşlerim\örnek1"

Klasörü windows explorerda açılabilir mi? Böyle bir şey VB ile mümkün müdür?
Şöyle deneyin;
Kod:
 Private Sub CommandButton2_Click()
Dim aç, a
Set a = CreateObject("scripting.filesystemobject")
If a.FolderExists("C:\İşlerim\" & [e5].Value) = True Then
aç = Shell("C:\WINDOWS\Explorer.exe c:\İşlerim\" & [e5].Value, vbNormalFocus)
Else
MsgBox "Klasör Bulunamadı"
End If
End Sub
Ayrıca ilk mesajımdaki kodda bulunan [e1] i [e5] olarak değiştirin.
 
Elinize sağlık bu kod da işimi görüyor. :)

Kod:
If a.FolderExists("C:\İşlerim\" & [[COLOR="Red"]seçili hücre değeri[/COLOR]].Value) = True Then
aç = Shell("C:\WINDOWS\Explorer.exe c:\İşlerim\" & [[COLOR="red"]seçili hücre değeri[/COLOR]].Value, vbNormalFocus)

Bu şekilde olur mu? Olmazsa da hiç sorun değil. E5 e kopyalarım seçili hücreyi ve sonra da açarım.

Farklı bir konuyla alakalı son bir şey için daha zahmete sokacağım sizi. :) Geri kalanı kendim halledebilirm umarım. :)


"C:\İşlerim\örnek1" klasöründeki

"C:\İşlerim\örnek1\örnek1.docx
"C:\İşlerim\örnek1\örnek2.docx

dosyalarına "G5" hücresinde yazan kelimeyi isim olarak vermek istiyorum.

"G5" içeriği "Ahmet ise"

örnek1.docx = Ahmet1.docx
örnek2.docx = Ahmet2.docx

olarak yeniden adlandırılabilir mi?
 
İlk isteğinize göre:
Aktif hücrede yazan klasör varmı?
Kod:
 If a.FolderExists("C:\İşlerim\" & [COLOR="Red"]ActiveCell.Value[/COLOR]) = True Then

İkinci :
"F5" de (Ahmet) adı yazan dosya adı, "G5" deki yazan ile değişsin.
Kod:
  Name "C:\İşlerim\Örnek1\" & [COLOR="Red"][F5].Value[/COLOR] & ".docx" As "C:\İşlerim\Örnek1\" & [COLOR="Red"][G5].Value[/COLOR] & ".docx"

Hücrede dosyanın tam adı yazıyorsa:"Ahmet.docx"
Kod:
 Name "C:\İşlerim\Örnek1\" & [F5].Value As "C:\İşlerim\Örnek1\" & [G5].Value
 
Son düzenleme:
Yapamadım. :(

Sizi de çok uğraştırmayayım. Altın üyeliğinizin olmama ihtimaline karşın eki file share sitesine yükledim.

Eklerle derdimi daha iyi anlatabileceğimi umut ediyorum.
Biraz daha farklı bir şekilde yapmak istesem daha iyi olacak.

"E5" de yazan rakamı çoğaltılan örnek klasörüne her seferinde excel otomatik olarak verecek. Ama bu işlemden sonra yeni oluşturulmuş olan bu klasörün içinde bulunan örnek1 ve örnek2 dosyalarına "G5" in içinde yazan metini ya da rakamı vermek istiyorum. Ekteki dosyada bu örneğin, Hasan, Mahmut şekline.

Özetle: C:\işlerim + "E5" deki klasör adı yolundaki örnek1.docx ve örnek2.docx dosyalarına "G5" in içeriğini vermek istiyorum. Bilmiyorum biraz zor bir istek mi oldu. :)

Sonuç olarak F5 hücresindeki içerikle eşit olan klasördeki dosyalar (ekte "5" adlı klasör) "G5" hücresinin içeriği olan örneğin "Hasan Mahmut1.docx" Hasan Mahmut2.docx" şeklinde değişecek. (Aynı adda iki dosya olmadığı için sonuna 1 ve 2 de koymak gerekecek sanırım)

Çok vakit alacak bir işse belki uzun yoldan yapmayı başarabilirim olmazsa bi iki tüyo daha isterim. Yardımlarınız çok makbule geçti benim için.


Ek:
http://qfs.mobi/f2782243
 
Geri
Üst