Bilgisayarlarda, bir günlük dosyası, bir işletim sisteminde veya diğer yazılım çalıştırmalarında meydana gelen olayları veya bir iletişim yazılımının farklı kullanıcıları arasındaki mesajları kaydeden bir dosyadır. Günlüğe kaydetme, günlük tutma eylemidir. En basit durumda, mesajlar tek bir günlük dosyasına yazılır.
Bir senaryo düşünün, uygulama, uygulamaya erişen kullanıcı ayrıntılarını günlük dosyasına kaydediyor.
Günlük dosyaları, özellikle geliştiriciler için farklı durumlarda yararlıdır. Günlük dosyaları, bilgileri geçici veya daha kalıcı olarak depolayabilen düz metin dosyalarıdır. Günlük dosyası oluşturmak için fazla koda ihtiyacınız yoktur. Bu yazıda, belirli bir klasörde otomatik günlük dosyaları oluşturmaya odaklanacağız.
Soru: Dosya her açıldığında geçerli tarih, saat ve Kullanıcı adını içeren bir not defteri dosyasını nasıl oluşturabilirim?
Mali bilgileri içeren Excel çalışma kitabının anlık görüntüsü aşağıdadır:
Bu örnekte, sonuç metin dosyası biçiminde olacaktır. Not defteri tarih, saat ve diğer ayrıntıları içerecektir; biraz şöyle:
Günlük dosyaları oluşturmak için VB düzenleyiciyi başlatmak için aşağıdaki adımları izlememiz gerekiyor:
- Geliştirici sekmesine tıklayın
- Kod grubundan Visual Basic'i seçin
- Ekle'ye ve ardından Modül'e tıklayın
- Bu yeni modül oluşturacak
- Modüle aşağıdaki kodu girin
Sub LogInformation(LogMessage As String) Const LogFileName As String = "D:\FOLDERNAME\TEXTFILE.LOG" Dim FileNum As Integer FileNum = FreeFile ' sonraki dosya numarası #FileNum Eklemek İçin LogFileName Aç #FileNum ' yoksa dosyayı oluşturur #FileNum yazdır, LogMessage ' bilgileri metin dosyasının sonuna yaz Close #FileNum ' dosyayı kapat End Sub
Public Sub DisplayLastLogInformation() Const LogFileName As String = "D:\FOLDERNAME\TEXTFILE.LOG" Dim FileNum As Integer, tLine As String FileNum = FreeFile ' sonraki dosya numarası Giriş Erişimi için LogFileName'i Aç Read Shared #f ' için dosyayı aç okuma EOF(FileNum) Satır Girişi #FileNum, tLine ' metin dosyasından bir satır oku Loop ' son satır okunana kadar Kapat #FileNum ' dosyasını kapat MsgBox tLine, vbInformation, "Son günlük bilgisi:" End Sub
Sub DeleteLogFile(FullFileName As String) Hata Devam Ediyor Sonraki ' olası hataları yok sayın FullFileName'i öldür ' varsa ve mümkünse dosyayı silin Error GoTo 0 ' hatalarda ara End Sub
ThisWorkbook modülünde aşağıdaki kodu kopyalayın
Private Sub Workbook_Open() LogInformation ThisWorkbook.Name & " tarafından açıldı " & _ Application.UserName & " " & Format(Şimdi, "yyyy-aa-gg ss:dd") End Sub
- Artık VBA kodunun tamamı kullanıma hazırdır; bir dahaki sefere excel çalışma kitabını açtığımızda tarih ve saat not defterine kaydedilecek; aşağıdaki resme bakın:
Makro verilerin üzerine yazmaz.
Çözüm: Makro, çalışma kitabı belirtilen yol ve klasörde her açıldığında çalışır.
Bloglarımızı beğendiyseniz, Facebook'ta arkadaşlarınızla paylaşın. Ayrıca bizi Twitter ve Facebook'ta da takip edebilirsiniz.
Sizden haber almayı çok isteriz, işimizi nasıl iyileştirebileceğimizi, tamamlayabileceğimizi veya yenileyebileceğimizi ve sizin için daha iyi hale getirebileceğimizi bize bildirin. Bize e-posta sitesinde yazın