Bueno "Francisco Parrilla". Muchísimas gracias por tu ayuda. Coseguido que
quede registrado todos los cambios y con nombre de usuario.
Te voy a poner cómo quedó la macro:
En General
Sub abrir(usuario)
user = Range("I3")
fecha = Range("I2")
Open "D:.\dvd.txt" For Append As #1
Write #1, "Usuario:", user, "|", "Fecha:", fecha, "|", "Celdas modificadas",
"|", ActiveWindow.RangeSelection.Address
Close #1
End Sub
En Workbook
If respuesta = vbYes Then
user = InputBox("Usuario:")
Range("I3") = user
Else
ThisWorkbook.Close SaveChanges:=True
End If
If user = "" Then
MsgBox ("¿ME QUERÍAS ENGAÑARRRRRRRR?. ¡ADIOOOOSSS!")
ThisWorkbook.Close SaveChanges:=True
End If
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Set WshNetwork = CreateObject("WScript.Network")
Call abrir(WshNetwork.UserName)
Set WshNetwork = Nothing
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Range("I3").ClearContents
End Sub
Esto ha quedado bastante bien pero aquí cualquiera pude poner un nombre de
usuario, ya me dirás si se puede mejorar.
Aunque mi idea inicial era que cuando abro la tabla de Excel me pida una
contraseña (pero que los distintos usuarios cada uno tuviera la suya) y que
si no meto esas contraseñas determinadas no pueda abrir la tabla de excel.
No sé si eso es factible o no
En cualquier caso gracias de nuevo, por dedicarme tu tiempo y encaminarme
las cosas tan divinamente porque esta vez me ha costado un poquito darme
cuenta de cómo iban. GRACIAS POR TODO
Leer las respuestas