Excel dosyasının yedeğini, ağ üzerindeki başka bilgisayarda almak

Katılım
24 Temmuz 2008
Mesajlar
56
Excel Vers. ve Dili
Excel2003 VB
Sevgili hocalarım ve arkadaşlarım. Yapmak istediğim şu: Adına Back-up yada kopyalamada denebilir. Ancak istediğim bu işi,ağ üzerindeki başka bilgisayarda yapmak. Back-up ile ilgili formdaki konulara baktım ama çok detaylı ve karışık gibi. İstediğim 2 aşamalı 1) ana formdaki 1 butoba ("Yedekle") bastığımızda, ağ üzerindeki bir bilgisayara (yedekleme,kopyalama,back-up alma.doğru ifade hangi tam emin deilim.hepsi aynı mı yada farklı mı?). 2) Bu işi otomatik olarak örneğin 2 saatte yapsın. 1. ve 2. durum aynı anda olabilir mi? Birde yedekle dediğimde, diğer bilgisayarda sürekli yeni dosya mı oluşturur? Aslında yeni dosya olması daha mantıklı gibi.Yeni kayıtları ve farkları görme açısından.Ancak hardisk dolabilir gibi.gerçi belli aralıklarla silinebilir. Yardım ve ilginiz için şimdiden teşekkür ederim.dosyam ektedir.
 

Ekli dosyalar

Katılım
17 Aralık 2007
Mesajlar
28
Excel Vers. ve Dili
2002 (10.4302.4219) SP-2
Ok. sanırım çözüm yolunu buldum.. :)

Aslında elimizde iki tane çözüm yolu var:
1- Bu işi makro vb ile yapmadan backup alabilirsiniz. Ama belirli bir periyot söz konusu olmaz. Dosyayı her kaydedişinizde Excel bir de backup dosyasını yaratır ve farklı bir uzantı ile kaydeder. Alternatif olarak aklınızda bulunsun. Yöntem şu şekilde: menülerden "Dosya > Farklı kaydet" i seçip, sağ üst köşeden "Araçlar > Genel seçenekler" kısmına gidin; burada "Her zaman yedekle" seçeneğini seçin.

2- Bir de makrolu yöntemimiz var. Aşağıdaki kodları dosyanıza ekleyin (ps. çalışabilmeleri için excel dosyasının açık olması gerekiyor, malum).
----------------------
'Thisworkbook
Private Sub Workbook_Open()

Application.OnTime Now + TimeValue("02:00:00"), "SaveBook"

End Sub

----------------------
'Module
Sub SaveBook()

ActiveWorkbook.Save

End Sub


Private Sub Workbook_BeforeSave()

Application.OnTime Now + TimeValue("02:00:00"), "SaveBook"

End Sub

--------------

Time value değerini saat-dakika-saniye olarak ayarlayabilirsiniz.

İyi çalışmalar.. :)
 
Son düzenleme:
Katılım
24 Temmuz 2008
Mesajlar
56
Excel Vers. ve Dili
Excel2003 VB
"kaant" çok teşekkür ederim. Her zaman yedekle seçeneğini ilk defa gördüm. Verdiğin 2 çözüm de çok güzel (2.sini daha koda ekleyemedim.). Şunu sormak istiyorum:1) Ben bu işi, bir command butona basarak yapabilir miyim? (Sanırım yaparım ama nasıl ) 2) Birde, yedeklerken hedefi nasıl belirlerim.Amaç ağ üzerinde başka bir pc olacak şekilde. Cevabın için tekrar teşekkür ederi. Kolay gelsin.
 
Katılım
17 Aralık 2007
Mesajlar
28
Excel Vers. ve Dili
2002 (10.4302.4219) SP-2
Tekrar merhabalar,

Önce makro kısmını düzenleyelim..

--------
Sub SaveBook()
ActiveWorkbook.Save
End Sub
----------


Yukarıdaki "ActiveWorkbook.Save" kısmını şu şekilde yapalım:
ActiveWorkbook.SaveAs Filename:="P:\dosya_adi.xls"

Dikkat ederseniz, path'teki harf "P"... :) Yeni ağdaki ilgili yolu "Map network drive" ile (Türkçe sürümlerdeki tanımını bilmiyorum, kusuruma bakmayın), bu işi yapacağınız PC'ye tanımlamanız gerekiyor. Tabi user/pass kısmınıda da, makinanızın sürekli hatırlayacağı şekilde set etmeniz gerekmekte.

Bu işlemden sonrası gayet kolay. Excel'de butonu koymak istediğiniz sayfayı açın. Üstteki toolbar'da boş bir alana sağ mouse ile tıklayın. Gelen açılır listeden "Formlar" ı seçin. Görünür hale gelecek form toolbar'ında soldan 4. şekil, butondur. Seçip, excel dosyada istediğiniz şekilde biçimlendirin. Zaten mouse'un düğmesinden elinizi kaldırdığınızda, "Makro ata" menüsü gelecek. Buradan SaveBook makrosunu seçmeniz yeterli. Butona her tıklamanızda, map ettiğiniz ağ yolundaki makinaya dosyayı kaydedecektir.

Kolay gelsin..
 
Katılım
24 Temmuz 2008
Mesajlar
56
Excel Vers. ve Dili
Excel2003 VB
"kaant" çok teşekkür ederim.uygulamaya geçicem. olmazsa yine yardımını talep ederim. İlgine ve desteğine teşşkür ederim.Allah Razı Olsun.
 
Katılım
24 Temmuz 2008
Mesajlar
56
Excel Vers. ve Dili
Excel2003 VB
Kaant yada diğer arkadaşlar otomatik kaydetme işini yapamadım.yardımcı olursanız sevinirim. Yeni modül mü açıcam. Anladığım kadarıyla
ActiveWorkbook.Save yapıldığında bize hiç gerek duymadan bilgisayar kaydetme işini yapıyor. Ancak ActiveWorkbook.SaveAs kullanırsak bilgisayar bizden onay bekliyor. Birde doğru mu anladım bilemiyorum. ActiveWorkbook.Save sadece excel dosyasını bulunduğu yere kaydediyor. Uzakta bir yere kayıt için ActiveWorkbook.SaveAs kullanmam lazım. Eğer bu işi otomatik yapmak istersem, mutlaka pc başında olmam gerekiyor gibi bir sonuç var.Yorum ve yardım bekliyorum.yardımlarınız için şimdiden teşekkür.
 
Son düzenleme:
Katılım
17 Aralık 2007
Mesajlar
28
Excel Vers. ve Dili
2002 (10.4302.4219) SP-2
Merhabalar, gecikme için özür diliyorum..

Belirttikleriniz kısmen doğru: "Save" yazdığınızda olduğu yere kaydeder (En son nereye kayıt aldıysa); "Save As" yazdığınızda ise farklı isimle ama yine otomatik kaydediyor. Diğer bir deyişle onay istemiyor - en azından bendeki sistemlerde. Olaki, sizin çalışmanızda bu tür beklenmedik bir durum söz konusu oluyorsa "sub" ile başlayan fonksiyonun ilk satırına "On error resume next" yazarak bu problemi giderebilirsiniz.

Diğer taraftan, yeni modül açmanıza gerek yok. Mevcut kullandığınız modülde "end sub" sonrasında yeni fonsiyon yazabilirsiniz.

İyi çalışmalar.
 
Katılım
24 Temmuz 2008
Mesajlar
56
Excel Vers. ve Dili
Excel2003 VB
Teşekkür ederim kaat uygulamaya geçicem.Allah razı olsun.
 
Üst