• DİKKAT

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

kullanıcı ve zaman bilgisi ile farklı kaydet kapat

Katılım
10 Haziran 2014
Mesajlar
45
Excel Vers. ve Dili
Excel365 İngilizce
Merhaba,
Server üzerinde kayıtlı bir dosyamız mevcut. Bu dosya, farklı kullanıcılar tarafından açılıp, üzerinde işlemler yapıldıktan sonra kaydedilerek kapatılıyor. Benim istediğim; dosya her kapatıldığında dosya ismine kullanıcı adı ve zaman bilgisi ekleyerek farklı kaydetmesi. Bunu çalışma kitabına ekleyeceğimiz bir kod ile gerçekleştirmek mümkün müdür?
Örnek: "deneme.xlsm" dosyası kapatılırken "deneme-algerian_10_11_2016_17_56.xlsm" şeklinde yeni bir kayıt oluştursun.
Yardımlarınız için şimdiden teşekkür ederim.
 
. . .

Boş bir modüle yapıştırın.
Yerdeğişkenini kendi ağ yolunuza göre değiştirin.

Kod:
Sub AUTO_CLOSE()
    On Error Resume Next
    Dim DosyaSistemi
    Set DosyaSistemi = CreateObject("Scripting.FileSystemObject")
    Dim Yedek_Dosya_Adı As String, Kayıt_Yeri As String
    
    [B][COLOR="DarkRed"]yer [/COLOR][/B]= "\\Bserver\vardİya hesabi\TEMİZLE__2011 YILI VARDİYA RAPORU YEDEKLERİ\"
    
    For i = 1 To Len(ThisWorkbook.Name)
        If Mid(ThisWorkbook.Name, i, 1) = "." Then
            Dosya = Mid(ThisWorkbook.Name, 1, i - 1)
            uzanti = Mid(ThisWorkbook.Name, i, Len(ThisWorkbook.Name))
        End If
    Next
    ActiveWorkbook.Save
    Application.DisplayAlerts = False
    Yedek_Dosya_Adı = Dosya & "-" & Application.UserName & "_" & Format(Now, " dd_mm_yyyy_hh_mm") & uzanti
    Kayıt_Yeri = yer & Yedek_Dosya_Adı
    On Error Resume Next
    If Dir(yer) = "" Then MkDir yer
    On Error Resume Next
    DosyaSistemi.CopyFile ThisWorkbook.FullName, Kayıt_Yeri
    Application.DisplayAlerts = True
End Sub

. . .
 
Çok teşekkür ederim üstadım. Modül oluşturup kodu yapıştırmamı istediğinizde bir buton kullanmam gerekli diye düşünmüştüm. Ancak tam istediğim gibi otomatik olarak kaydedip kapatıyor. Ellerinize ve emeğinize sağlık.
 
Geri
Üst