Страницы: 1
RSS
почему не меняется имя учетной записи после его изменения на другое имя ???
 
Описываю свою проблему :  
мне дали макрос, который ведёт лог всех действий в книге ,выглядит так :  
 
Option Explicit  
Public sValue As String  
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)  
If Sh.Name = "LOG" Then Exit Sub  
   Dim sLastValue As String  
   Dim lLastRow As Long  
 
   With Sheets("LOG")  
       lLastRow = .Cells.SpecialCells(xlLastCell).Row + 1  
       If lLastRow = Rows.Count Then Exit Sub  
       Application.ScreenUpdating = False: Application.EnableEvents = False  
       .Cells(lLastRow, 1) = CreateObject("wscript.network").UserName  
       .Cells(lLastRow, 2) = Target.Address(0, 0)  
       .Cells(lLastRow, 3) = Format(Now, "dd.mm.yyyy HH:MM:SS")  
       .Cells(lLastRow, 4) = Sh.Name  
       .Cells(lLastRow, 5) = sValue  
       If Target.Count > 1 Then  
           Dim rCell As Range  
           For Each rCell In Intersect(Target, Sh.UsedRange)  
               If Not IsError(Target) Then sLastValue = sLastValue & "," & rCell Else sLastValue = sLastValue & "," & "Err"  
           Next rCell  
           sLastValue = Mid(sLastValue, 2)  
       Else  
           If Not IsError(Target) Then sLastValue = Target.Value Else sLastValue = "Err"  
       End If  
           .Cells(lLastRow, 6) = sLastValue  
   End With  
   Application.ScreenUpdating = True: Application.EnableEvents = True  
End Sub  
 
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)  
If Sh.Name = "LOG" Then Exit Sub  
   If Target.Count > 1 Then  
       Dim rCell As Range  
       For Each rCell In Intersect(Target, Sh.UsedRange)  
           If Not IsError(rCell) Then sValue = sValue & "," & rCell Else sValue = sValue & "," & "Err"  
       Next rCell  
       sValue = Mid(sValue, 2)  
   Else  
       If Not IsError(Target) Then sValue = Target.Value Else sValue = "Err"  
   End If  
End Sub  
 
Получается в первом столбце он выводит имя учетной записи того пользователя, который сделал изменения где-то. Но сейчас у меня имя учетной записи введено "Максим" и он его ипоказывает ,но мне необходимо его поменять и я зашел в Windows XP - Пуск - Настройка - Панель управления - Учетные записи пользователей  и там сменил имя было написано "Максим" а я сменил его на другое имя, но почему-то в excel макрос все равно выдавал старое имя "Максим"....  
Может я что-то не там поменял ???  
подскажите пожалуйста где что нужно изменить, чтобы было правильно....
 
{quote}{login=zeyram}{date=12.05.2011 02:31}{thema=почему не меняется имя учетной записи после его изменения на другое имя ???}{post}я зашел в Windows XP - Пуск - Настройка - Панель управления - Учетные записи пользователей  и там сменил имя было написано "Максим" а я сменил его на другое имя, но почему-то в excel макрос все равно выдавал старое имя "Максим"....  
Может я что-то не там поменял ???  
подскажите пожалуйста где что нужно изменить, чтобы было правильно....{/post}{/quote}  
компьютер перезагружали?    
изменения вступают только после перезагрузке компа.
 
{quote}{login=Марчук}{date=12.05.2011 02:39}{thema=Re: почему не меняется имя учетной записи после его изменения на другое имя ???}{post}{quote}{login=zeyram}{date=12.05.2011 02:31}{thema=почему не меняется имя учетной записи после его изменения на другое имя ???}{post}я зашел в Windows XP - Пуск - Настройка - Панель управления - Учетные записи пользователей  и там сменил имя было написано "Максим" а я сменил его на другое имя, но почему-то в excel макрос все равно выдавал старое имя "Максим"....  
Может я что-то не там поменял ???  
подскажите пожалуйста где что нужно изменить, чтобы было правильно....{/post}{/quote}  
компьютер перезагружали?    
изменения вступают только после перезагрузке компа.{/post}{/quote}  
 
конечно перезагружал, но ничего не изменилось....  
что делать не знаю
 
попробуй поменять    
.Cells(lLastRow, 1) = CreateObject("wscript.network").UserName  
 
на  
.Cells(lLastRow, 1) = CreateObject("wscript.network").ComputerName
 
{quote}{login=Марчук}{date=12.05.2011 02:46}{thema=}{post}попробуй поменять    
.Cells(lLastRow, 1) = CreateObject("wscript.network").UserName  
 
на  
.Cells(lLastRow, 1) = CreateObject("wscript.network").ComputerName{/post}{/quote}  
 
да конечно теперь это работает, но только будет показываться имя компьютера.  
И ещё я на рабочем столе на значке "Мой компьютер" нажал правой кн.мыши и в меню выбрал "Свойства" и там увидел Пользователь - "Максим" может тогда макрос берёт это имя на которое устанавливалась Windows. Но ведь тогда это не имя учетной записи, может есть ещё какая-то команда для вывода имеено имени учетной записи пользователя Windows ???  
подскажите если знаете.......
 
regedit  
 
[HKEY_USERS\S-1-5-21-1657612985-771126180-1233803906-61511\Software\Microsoft\MS Setup (ACME)\User Info]
"DefName"="Максим"  
"DefCompany"="*******"
 
{quote}{login=Марчук}{date=12.05.2011 03:02}{thema=}{post}regedit  
 
[HKEY_USERS\S-1-5-21-1657612985-771126180-1233803906-61511\Software\Microsoft\MS Setup (ACME)\User Info]
"DefName"="Максим"  
"DefCompany"="*******"{/post}{/quote}  
 
спасибо, но я решил, что лучше будет отображать имя компьютера...
Страницы: 1
Читают тему
Наверх