Файлы журналов с помощью VBA в Microsoft Excel
На компьютерах файл журнала — это файл, в котором записываются либо события, происходящие в операционной системе или другом программном обеспечении, либо сообщения между разными пользователями коммуникационного программного обеспечения. Ведение журнала — это акт ведения журнала. В простейшем случае сообщения записываются в один файл журнала .
_Подумайте о сценарии, приложение записывает в файл журнала сведения о пользователях, которые обращаются к приложению. _
Файлы Log полезны в разных ситуациях, особенно для разработчиков. Файлы журнала представляют собой простые текстовые файлы, в которых может храниться временная или более постоянная информация. Для создания файла журнала не нужно много кода. В этой статье мы сосредоточимся на создании автоматических файлов журнала в определенной папке .
===
Вопрос: Как я могу создать файл блокнота, который будет содержать текущую дату, время и имя пользователя всякий раз, когда файл открывается?
Ниже приведен снимок книги Excel, содержащий финансовую информацию:
В этом примере результат будет в виде текстового файла. Блокнот будет содержать дату, время и другие данные; примерно так:
Чтобы создать файлы журнала, нам нужно выполнить следующие шаги для запуска редактора VB: Щелкните вкладку «Разработчик». В группе «Код» выберите Visual Basic
-
Нажмите «Вставить», затем «Модуль»
Это создаст новый модуль. Введите следующий код в модуль
Sub LogInformation(LogMessage As String) Const LogFileName As String = "D:\FOLDERNAME\TEXTFILE.LOG" Dim FileNum As Integer FileNum = FreeFile ' next file number Open LogFileName For Append As #FileNum ' creates the file if it doesn't exist Print #FileNum, LogMessage ' write information at the end of the text file Close #FileNum ' close the file End Sub
Public Sub DisplayLastLogInformation() Const LogFileName As String = "D:\FOLDERNAME\TEXTFILE.LOG" Dim FileNum As Integer, tLine As String FileNum = FreeFile ' next file number Open LogFileName For Input Access Read Shared As #f ' open the file for reading Do While Not EOF(FileNum) Line Input #FileNum, tLine ' read a line from the text file Loop ' until the last line is read Close #FileNum ' close the file MsgBox tLine, vbInformation, "Last log information:" End Sub
Sub DeleteLogFile(FullFileName As String) On Error Resume Next ' ignore possible errors Kill FullFileName ' delete the file if it exists and it is possible On Error GoTo 0 ' break on errors End Sub
Скопируйте следующий код в модуль ThisWorkbook
Private Sub Workbook_Open() LogInformation ThisWorkbook.Name & " opened by " & _ Application.UserName & " " & Format(Now, "yyyy-mm-dd hh:mm") End Sub
-
Теперь код VBA готов к работе; в следующий раз, когда мы откроем книгу Excel, дата и время будут сохранены в блокноте; см. изображение ниже:
Макрос не перезаписывает данные.
Вывод: макрос будет запускаться каждый раз, когда книга открывается по указанному пути и папке.
Если вам понравились наши блоги, поделитесь ими с друзьями на Facebook. А также вы можете подписаться на нас в Twitter и Facebook .
Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить, дополнить или усовершенствовать нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]