• DİKKAT

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

Diskten diske Dosya (çalışma kitabını) kopyalama

  • Konbuyu başlatan Konbuyu başlatan kykbt
  • Başlangıç tarihi Başlangıç tarihi
Katılım
12 Nisan 2006
Mesajlar
303
Excel Vers. ve Dili
Office 2003
Office 2007
Arkadaşlar merhaba

Aşağıdaki kodda

kopyaal = "G:\Stok\" & dosyam yerine, kopyaal = "c:\Stok\" & dosyam
yazdığımda çalışıyor fakat harici disk olan G: diskini adres gösterince çalışmıyor.

Run-time error 70
permission denied diye hata veriyor ve debug:
"VBA.FileSystem.FileCopy kopyaal, kopyayolla" kodu üzerinde duruyor

iki disk üzerinde ki dosyalardan masa üstü kısayol oluştur dan aldığım kısayol adreslerii aşağıdaki gibi

"\\Server-1\stok\stok 2009.xls"
"G:\stok\stok 2009.xls"

Burada yapmak istediğim çalışma kitabını kapatırken kopyalama işini otomatik bir şekilde yapsın istiyorum. Ancak kayıt etmemiş isem en son kayıtlı hali kopyalanmalı yani kopyalama işini diskten yapmalı SaveAs şeklinde değil.



Sub DosyaKopyala()
'
Dim kopyaal As String, kopyayolla As String, dosyam As String
On Error Resume Next
dosyam = "Stok 2009.xls"
kopyaal = "G:\Stok\" & dosyam
kopyayolla = "\\Server-1\Stok\" & dosyam
VBA.FileSystem.FileCopy kopyaal, kopyayolla

End Sub
 
Açık dosya üzerinden kopyalama işlemi yapmaya çalıştığınız için hata veriyor zannediyorum. Birde aşağıdaki şekilde deneyin.
Kod:
Sub auto_close()
'
Dim kopyala As String, dosyam As String
'On Error Resume Next
    Application.DisplayAlerts = False
    ActiveWorkbook.Save
    dosyam = ActiveWorkbook.Name
    kopyala = "\\Server-1\Stok\" & dosyam
    ActiveWorkbook.SaveAs Filename:=kopyala
    Application.DisplayAlerts = True
End Sub
 
Hocam Merhaba

Burada belki haklısınız ama ben bu kopyalamayı yapmadan evvel kaydetmesini istemiyorum.
Yani yapılan değişklikleri kaydetmedi isem yapacağı kopyada değişmemeli yani eski halini kopya olarak yollamalı.
 
Aşağıdaki satırı silerseniz istediğiniz olur. Ancak dikkatli olun kapatırken kaydetmek istiyor musunuz diye sormayacak ve direk kapatacaktır. Kaydetmeyi manuel yapmalısınız yani.
Kod:
ActiveWorkbook.Save
 
Hocam sağol

Sanırım en iyi cözüm bu, save as ta kopyalama süresi normal kopyalaya göre galiba biraz uzun ama dedim ya, sanırım şu an en iyi cözüm bu görünüyor.
Teşekkürler.
 
birde bunu denermisiniz.

Sub Makro1()

'On Error Resume Next
dosyam = "Stok 2009.xls"
kopyaal = "G:\Stok\" & dosyam
kopyayolla = "
 
Arkadaş Merhaba

Kodun tamamını yazarmısın.
 
evet haklısın eksik olmuş bakmadım


Sub Makro1()
kopyalanacak_dosya = "F:\stok\telefon.xls"
kopyalandığı_yer = "D:\"
If MsgBox(kopyalanacak_dosya & " İşlemini yapmak istiyormusunuz.?", vbYesNo + vbQuestion, "UYARI !") = vbYes Then
Dim DosyaSistemi
Set DosyaSistemi = CreateObject("Scripting.FileSystemObject")
DosyaSistemi.CopyFile kopyalanacak_dosya, kopyalandığı_yer
End If
End Sub
 
Son düzenleme:
kodu yeniden gönderiyorum ben bilgisayarımda denedim çalıştı

Sub Makro1()
kopyalanacak_dosya = "F:\stok\telefon.xls"
kopyalandığı_yer = "D:\"
If MsgBox(kopyalanacak_dosya & " İşlemini yapmak istiyormusunuz.?", vbYesNo + vbQuestion, "UYARI !") = vbYes Then
Dim DosyaSistemi
Set DosyaSistemi = CreateObject("Scripting.FileSystemObject")
DosyaSistemi.CopyFile kopyalanacak_dosya, kopyalandığı_yer
End If
End Sub
 
Halit Arkadaş Tekrar Merhaba

Ancak şindi ben size ne desem, kızsammı bu zamana kadar neredesiniz diye.

Tam aradığım, istediğim çözüm.

Çok çok teşekkür ediyorum. Kızgın olaraktan.

Ayrıca tüm ilgilenen arkadaşlarada...
 
Son düzenleme:
düzeltme yapıldı
 
Son düzenleme:
Arkadaş bizimki minnettarlığımızdan dır ha, yoksa haddimizemi?

Tekrar tekrar sağolasın, ömrün uzun olsun, sağlıkla yaşayasın..
 
düzeltme yapıldı
 
Son düzenleme:
Merhaba bu çalışmalar çok güzel
benimde şöyle bi sorum var bir bath file dosyam var copy /b c:\xx\*.* d:\yy\fbk.gcj diye çalışıyor
bunu nasıl excel ile yapabilirim tşk ederim. şimdiden
 
dizinden dizine nasıl yaparım

Merhaba bu çalışmalar çok güzel
benimde şöyle bi sorum var bir bath file dosyam var copy /b c:\xx\*.* d:\yy\fbk.gcj diye çalışıyor
bunu nasıl excel ile yapabilirim tşk ederim. şimdiden
 
Merhaba bu çalışmalar çok güzel
benimde şöyle bi sorum var bir bath file dosyam var copy /b c:\xx\*.* d:\yy\fbk.gcj diye çalışıyor
bunu nasıl excel ile yapabilirim tşk ederim. şimdiden


anlayamadım örnek dosya gönder bakalım
 
vd.bat diye birdosya var içeri ise şöyle
copy /b c:\vd\*.* vd.djr bu dosya vd klasörünün içinde bir kaçtane uzantısı djr olan dosyayı vd.djr diye birleştirme yapıyor. Ben bunu excelde macroda yapmak istiyorum.

Teşekkürler
 
Geri
Üst