在单元格中插入用户名(Microsoft Excel)
Sunlim指出,在安装Office时,用户指定其名称。可以在某些Office程序(如Word)中访问此名称。 Sunlim想知道他如何在Excel中访问用户名并将其放置在单元格中。
这样做的方法是实现一个简短的单行宏,该宏访问Application对象的http://username-password.com/[UserName]属性。 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_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(12745)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: