vb dosya kopyalama "çok önemli"

Katılım
7 Nisan 2009
Mesajlar
14
Excel Vers. ve Dili
2007
merhaba,

acemi olduğum için ve işim için çok önemli olduğundan ustalar yardımlarınızı rica ediyorum.

belirlenen bir klasörün belirlenen bir uzantıya sahip bir dosya oluştuğunda belirttiğimiz bir klasöre 2 dakika sonra taşıyacak ( dosya oluşması yaklaşık 1,5 dakika sürüyor) bir scprit koduna ihtiyacım var.işim için çok önemli bat dosyaları ile bir şeyler yapmaya çalışıyorum ama oda verimsiz ve süre olayı olmuyor ve tetiklemek gerekiyor.
örnek olarak :

a klasörüne *.xxx uzantılı dosya oluştuğunda 2 dakika sonra \\xx.xxx.xxx.xx\c$\b\ klasörüne taşınsın


şimdiden yardımlarınız için teşekkür ediyorum.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,376
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Merhaba,

Sözünü ettiğiniz dosya nasıl oluşuyor? Bir paket programın çıktısı mı? yoksa bir makro kodunun yaptığı iş mi?
 
Katılım
7 Nisan 2009
Mesajlar
14
Excel Vers. ve Dili
2007
zeki bey merhaba,

doğrudur bir paket program çıktısı.
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,770
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Paket program olduğu için böyle birşey vba ile yapılamaz diye düşünüyorum. Paket programcı firmanız ile görüşerek yardım talebinde bulunabilirsiniz.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,376
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Merhaba,

Birbirini çağıran iki prosedur hazırladım. "main" isimli proseduru çalıştırıp sonuçları bildirin.

Kod:
Sub main()
Dim bak_klasor As String, dosya As String, hedef As String

    bak_klasor = "c:\klasör\"
    dosya = "dosya.xls"
    hedef = "\\xx.xxx.xxx.xx\c$\b\"
    
    Do
        DoEvents
        If Dir(bak_klasor & dosya) <> "" Then Exit Do
    Loop
    
    Call move_file(bak_klasor & dosya, hedef)
    
End Sub

Private Sub move_file(p1 As String, p2 As String)
Dim bas As Single, son As Single

    bas = Timer
    son = 120 '2 dk
    
    Do While Timer < bas + son
        DoEvents
    Loop

    Name p1 As p2
    
    Call main
    
End Sub
 
Katılım
7 Nisan 2009
Mesajlar
14
Excel Vers. ve Dili
2007
zeki hocam denedim çalıştıramadım malesef :( hata vermiyor ama dosya harakey etmiyor.
nasıl yaptığımıda izah edeyim.form açıp üzerinde wiev code seçip main de yapıştır yaptım dosya yollarını değiştirip başlanğıç klasörüne *xls dosyası oluşturdum.
 
Katılım
7 Nisan 2009
Mesajlar
14
Excel Vers. ve Dili
2007
Selamlar,

Paket program olduğu için böyle birşey vba ile yapılamaz diye düşünüyorum. Paket programcı firmanız ile görüşerek yardım talebinde bulunabilirsiniz.


korhan hocam malesef firmadan destek almam mümkün değil.zeki hocam sağolsun yardımcı oluyor.inşaallah olacak. :)
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,376
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Daha basite indirgeyerek şunu deneyin...

Kod:
Sub move_file_2()
Dim s_file As String, d_file As String

On Error Resume Next

s_file = "c:\test.xls" [COLOR=DarkGreen]'kaynak dosya[/COLOR]
d_file = "\\xx.xxx.xxx.xx\c$\b\test.xls" [COLOR=DarkGreen]'hedef dosya[/COLOR]

    Do
        Err.Clear
        DoEvents
        [COLOR=DarkGreen]'Syntax:
        'Name "kaynak dosya" As "hedef dosya"[/COLOR]
        Name s_file As d_file
    Loop While Err.Number <> 0
    
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,770
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Benim anladığım siz paket programınızdan bir rapor çalıştıracaksınız. Bu raporun oluşması yaklaşık 1,5 dakika sürüyor. Raporu çalıştırdığınız anda başka bir makro çalışacak. Ve bu makro paket programınız tarafından tetiklenecek. Eğer isteğiniz bu yönde ise bence mümkün değil.

Sonuç olarak Zeki beyin önerdiği koduda sizin tetiklemeniz yani çalıştırmanız gerekiyor.
 
Katılım
7 Nisan 2009
Mesajlar
14
Excel Vers. ve Dili
2007
korhan hocam haklısınız galiba :( çünkü birşeyi atlamışım,dosya ismide sürekli değişiyor.zeki hocamın kodu çalışıyor ama dosya isimleri sürekli değiştiğinden sorun çıkıyor.

zeki hocam çok uğraştırdım sizi hakkınızı helal edin.Galiba bat dosyasından başka çare kalmadı.klasörün içinde *.zip uzantılı dosya oluştuktan 2 dakika sonra taşıma için bir "MOVE C:\X KLASÖR\*.zip \\xx.xxx.xxx.xx\c$\x klasör\" komut içeren bat hazırlayıp onu çalıştıran bir kod bulmaya çalışayım.Daha kolay ve kesin olacak galiba
 
Son düzenleme:
Üst