• DİKKAT

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

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.
 
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?
 
zeki bey merhaba,

doğrudur bir paket program çıktısı.
 
Son düzenleme:
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.
 
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
 
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.
 
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. :)
 
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
 
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.
 
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:
Geri
Üst