Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Отображение имени открывшего EXCEL файл - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отображение имени открывшего EXCEL файл (Макросы/Sub)
Отображение имени открывшего EXCEL файл
trn09 Дата: Суббота, 23.05.2015, 13:24 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Добрый день!
Мне надо отобразить в ячейке имя того кем был открыт EXCEL файл.
В интернете нашёл шикарный вариант - ТУТ

[vba]
Код
пихаем это в Книгу

Private Sub Workbook_Open()
        'ведение лога
        UserLog
End Sub

непосредственно код в модуле

Private Declare Function GetComputerNameA Lib "kernel32" (ByVal lpBuffer As String, nSize As Long) As Long
Private Declare Function WNetGetUserA Lib "mpr.dll" (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long
'сетевое имя компьютера
Function GetComputerName() As String
Dim sBuffer As String * 255
If GetComputerNameA(sBuffer, 255&) <> 0 Then
GetComputerName = Left$(sBuffer, InStr(sBuffer, vbNullChar) - 1)
End If
End Function
'имя пользователя
Function GetUserName() As String
Dim sUserNameBuff As String * 255
sUserNameBuff = Space(255)
Call WNetGetUserA(vbNullString, sUserNameBuff, 255&)
GetUserName = Left$(sUserNameBuff, InStr(sUserNameBuff, vbNullChar) - 1)
End Function
'запись в лог-файл
Sub UserLog()
Dim nLogtxt As String

nLogtxt = "G:\PROJECTS\LogData" & "\" & Replace(ThisWorkbook.Name, ".xls", ".txt")

        Open nLogtxt For Append As #1
            Print #1, Application.UserName & " -- " & Now & " -- " & GetComputerName & " -- " & GetUserName
        Close #1
End Sub
[/vba]

Как сделать, что бы данная информация писалась не в лог, а отображалась в ячейке?
Спасибо


Сообщение отредактировал trn09 - Суббота, 23.05.2015, 13:25
 
Ответить
СообщениеДобрый день!
Мне надо отобразить в ячейке имя того кем был открыт EXCEL файл.
В интернете нашёл шикарный вариант - ТУТ

[vba]
Код
пихаем это в Книгу

Private Sub Workbook_Open()
        'ведение лога
        UserLog
End Sub

непосредственно код в модуле

Private Declare Function GetComputerNameA Lib "kernel32" (ByVal lpBuffer As String, nSize As Long) As Long
Private Declare Function WNetGetUserA Lib "mpr.dll" (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long
'сетевое имя компьютера
Function GetComputerName() As String
Dim sBuffer As String * 255
If GetComputerNameA(sBuffer, 255&) <> 0 Then
GetComputerName = Left$(sBuffer, InStr(sBuffer, vbNullChar) - 1)
End If
End Function
'имя пользователя
Function GetUserName() As String
Dim sUserNameBuff As String * 255
sUserNameBuff = Space(255)
Call WNetGetUserA(vbNullString, sUserNameBuff, 255&)
GetUserName = Left$(sUserNameBuff, InStr(sUserNameBuff, vbNullChar) - 1)
End Function
'запись в лог-файл
Sub UserLog()
Dim nLogtxt As String

nLogtxt = "G:\PROJECTS\LogData" & "\" & Replace(ThisWorkbook.Name, ".xls", ".txt")

        Open nLogtxt For Append As #1
            Print #1, Application.UserName & " -- " & Now & " -- " & GetComputerName & " -- " & GetUserName
        Close #1
End Sub
[/vba]

Как сделать, что бы данная информация писалась не в лог, а отображалась в ячейке?
Спасибо

Автор - trn09
Дата добавления - 23.05.2015 в 13:24
nilem Дата: Суббота, 23.05.2015, 14:24 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Привет, trn09
наверное так:
[vba]
Код
Sub UserLog()
Sheets(1).Range("A1").Value = Application.UserName & " -- " & Now & " -- " & GetComputerName & " -- " & GetUserName
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеПривет, trn09
наверное так:
[vba]
Код
Sub UserLog()
Sheets(1).Range("A1").Value = Application.UserName & " -- " & Now & " -- " & GetComputerName & " -- " & GetUserName
End Sub
[/vba]

Автор - nilem
Дата добавления - 23.05.2015 в 14:24
trn09 Дата: Суббота, 23.05.2015, 14:46 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
nilem, ШИКАРНО!
И не многоэтажно оказалось.
Спасибо =)
 
Ответить
Сообщениеnilem, ШИКАРНО!
И не многоэтажно оказалось.
Спасибо =)

Автор - trn09
Дата добавления - 23.05.2015 в 14:46
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отображение имени открывшего EXCEL файл (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!