Bu yüzden düzenli olarak başka bir dizine kopyalanmasını ve son sürümün değiştirilmesini istediğim bir erişim dosyam var. Bunu başarmak için bir Excel makrosu kullanmak istiyorum ve ayrıca işlem sırasında dosyayı yeniden adlandırmak istiyorum.
Örneğin.
fileName = "X:\Database\oldName.accdb"
copyDestination = "Y:\dbstore\"
newName = "newName.accdb"
Bunu yapmanın kolay bir yolu var mı?
Scripting.FileSystemObject içindeki uygun yöntemleri kullanın. Böylece kodunuz VBScript ve VB.net için daha taşınabilir olacaktır. Başlamak için şunları eklemeniz gerekir:
Dim fso As Object
Set fso = VBA.CreateObject("Scripting.FileSystemObject")
O zaman şunu kullanabilirsin
Call fso.CopyFile(source, destination[, overwrite] )
burada kaynak ve hedef dosyanın tam adlarıdır (yollar dahil).
Bkz. https://docs.microsoft.com/en-us/office/vba/Language/Reference/user-interface-help/copyfile-method
Bu kodu kullanırken başımı çok ağrıtan bir şey oldu (başkalarını da etkileyebilir ve keşke birisi benim okumam için buraya böyle bir yorum bıraksaydı):
Çözümüm, kodu (Zamanlayıcı olayında) veritabanı ile açılan başka bir gizli formdan çalıştırmak olacak.