|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
Get inside! Sample the range of functionality easily built with JMSL Library for Time Series Data Analysis, Heat Maps, Portfolio Optimization, Monte Carlo Simulation, Stock Price Charting and more. Download Now! |
|
#1
|
|||
|
|||
|
excel logging
hi,
was just wondering if someone could help me rpoduce a log of changes in excel, dont say i can use the track changes option - i know this and dont want to do this, i want my own customisation... anyway, i would like to log the following data time - and what cell was selected (either by row col numbers of alphanumeric time and what the cell value was BEFORE it was changed, then what the cell value is AFTER it has been changed What time the workbook was opened and by what windows user. the end result would be a simple text file produced detailing these changes. the main one i am stuck on is the second one, and not sure how to get the windows user ID Thank you if you can help me here........ |
|
#2
|
|||
|
|||
|
you could create a variable like SelectedVal
which holds the value of the selected cell once you detect a change you write the before, read the after and done. that's what i would try |
|
#3
|
|||
|
|||
|
I think u can use macro or vba to realize it!
This is a sample code using vba: Log files using VBA in Microsoft Excel Log files are useful in different situations, specially for developers. Log files are plain text files that can store information temporary or more permanent. You don't need much code to create a log file: Sub LogInformation(LogMessage As String) Const LogFileName As String = "C:\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 The macro above can be used from other macros like this: Private Sub Workbook_Open() LogInformation ThisWorkbook.Name & " opened by " & _ Application.UserName & " " & Format(Date, "yyyy-mm-dd hh:mm") End Sub Log files created in this way can be read by all applications capable of reading plain text files, e.g. Notepad, Write, Word and Excel. It is also possible to read log file contents with VBA, here is an example: Public Sub DisplayLastLogInformation() Const LogFileName As String = "C:\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 Log files can grow large in size, especially if you log much information or log often. You might want to delete large log files. This can be done manually from Windows Explorer, automatically at a given time (e.g. using an AT-command in Windows NT or another suitable tool) or with a macro like this: 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 The macro above can be used like this from another macro: DeleteLogFile "C:\FOLDERNAME\TEXTFILE.LOG" |
![]() |
| Viewing: Dev Shed Forums > Programming Languages - More > Visual Basic Programming > excel logging |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|