Sunlim отметила, что при установке Office пользователь указывает свое имя. К этому имени можно получить доступ в некоторых программах Office, например в Word. Санлим интересуется, как он может получить доступ к имени пользователя в Excel и поместить это имя в ячейку.

Для этого можно реализовать короткий однострочный макрос, который обращается к свойству UserName объекта Application. Этот метод подробно описан в другом выпуске _ExcelTips: _

http://excelribbon.tips.net/T009814

Такой подход отлично подходит для определения имени пользователя, связанного с текущей установкой Excel. Однако это может отличаться от того, кто использует текущую книгу. Например, если книга является общей, возможно, что несколько человек могут использовать ее одновременно. В этом случае вам понадобится способ определить эти имена, как показано здесь:

Function UserNames() As String     Dim Users As Variant     Dim sMsg As String     Dim iIndex As Integer

Users = ActiveWorkbook.UserStatus

For iIndex = 1 To UBound(Users, 1)

sMsg = Users(iIndex, 1) & vbLf     Next iIndex     'remove final line feed     sMsg = Left(sMsg, Len(sMsg) - 1)



UserNames = sMsg End Function

Чтобы использовать функцию, просто введите следующую формулу в ячейку, в которой должны отображаться имена:

=UserNames

Если вместо этого вы хотите знать, кто в настоящее время использует компьютер, лучше выйти за рамки Office и вместо этого взять имя из самой Windows. Таким образом вы можете определить, кто вошел в Windows, и использовать это в качестве имени пользователя. Это требует объявления вызова функции API, но в остальном это относительно просто:

Private Declare Function GetUserName Lib "advapi32.dll" _   Alias "GetUserNameA" (ByVal lpBuffer As String, nSize _   As Long) As Long

Function UserName2() As String     Dim strBuff As String * 100     Dim lngBuffLen As Long

lngBuffLen = 100     GetUserName strBuff, lngBuffLen     UserName2 = Left(strBuff, lngBuffLen - 1)

End Function

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (12745) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Inserting_the_Users_Name_in_a_Cell [Вставка имени пользователя в ячейку].