Регистрирайте файлове с помощта на VBA в Microsoft Excel

Anonim

В компютрите регистрационният файл е файл, който записва или събития, които се случват в операционна система или друг софтуер, или съобщения между различни потребители на комуникационен софтуер. Дневникът е актът на водене на дневник. В най -простия случай съобщенията се записват в един лог файл.

Помислете за сценарий, приложението регистрира потребителските данни в лог файла, които имат достъп до приложението.

Дневните файлове са полезни в различни ситуации, особено за разработчиците. Дневните файлове са обикновени текстови файлове, които могат да съхраняват информация временна или по -постоянна. Не се нуждаете от много код, за да създадете лог файл. В тази статия ще се съсредоточим върху създаването на автоматични лог файлове в определена папка.

Въпрос: Как мога да създам файл с бележник, който съдържа текущата дата, час и потребителско име, когато файлът се отвори?

Следва моментната снимка на работната книга на Excel, съдържаща финансова информация:

В този пример резултатът ще бъде под формата на текстов файл. Бележникът ще съдържа дата, час и други подробности; донякъде така:

За да създадем лог файлове, трябва да следваме стъпките по -долу, за да стартираме VB редактор:

  • Кликнете върху раздела Разработчик
  • От групата кодове изберете Visual Basic

  • Кликнете върху Вмъкване, след това Модул

  • Това ще създаде нов модул
  • Въведете следния код в модула
 Sub LogInformation (LogMessage As String) Const LogFileName As String = "D: \ FOLDERNAME \ TEXTFILE.LOG" Dim FileNum As Integer FileNum = FreeFile 'следващия номер на файла Отворете LogFileName за добавяне като #FileNum' създава файла, ако не съществува Отпечатайте #FileNum, LogMessage 'напишете информация в края на текстовия файл Затвори #FileNum' затворете файла End Sub 
 Public Sub DisplayLastLogInformation () Const LogFileName As String = "D: \ FOLDERNAME \ TEXTFILE.LOG" Dim FileNum As Integer, tLine As String FileNum = FreeFile 'следващия номер на файла Отворете LogFileName За входен достъп Четете Споделен като #f' отворете файла за четене Do While Not EOF (FileNum) Line Input #FileNum, tLine 'чете ред от текстовия файл Loop', докато последният ред се прочете Close #FileNum 'затваря файла MsgBox tLine, vbInformation, "Информация за последния регистър:" End Sub 
 Sub DeleteLogFile (FullFileName As String) On Error Resume Next 'игнорирайте възможните грешки Kill FullFileName' изтрийте файла ако съществува и е възможно On Error GoTo 0 'break on errors End Sub 

Копирайте следния код в модула ThisWorkbook

 Private Sub Workbook_Open () LogInformation ThisWorkbook.Name & "отворен от" & _ Application.UserName & "" & Format (Now, "yyyy-mm-dd hh: mm") End Sub 

  • Сега кодът на VBA е готов за работа; следващия път, когато отворим работната книга на Excel, датата и часът ще бъдат записани в бележника; вижте изображението по -долу:

Макросът няма да презапише данните.

Заключение: Макросът ще се изпълнява всеки път, когато работната книга се отвори на посочен път и папка.

Ако ви харесаха нашите блогове, споделете го с приятелите си във Facebook. Можете също така да ни следвате в Twitter и Facebook.

Ще се радваме да чуем от вас, уведомете ни как можем да подобрим, допълним или обновим работата си и да я подобрим. Пишете ни на имейл сайта