Sunlim lưu ý rằng khi Office được cài đặt, người dùng chỉ định tên của họ. Tên này có thể được truy cập trong một số chương trình Office, chẳng hạn như trong Word. Sunlim tự hỏi làm thế nào anh ta có thể truy cập tên người dùng trong Excel và đặt tên đó vào một ô.

Cách thực hiện việc này là triển khai macro ngắn, một dòng truy cập thuộc tính UserName của đối tượng Application. Kỹ thuật này được trình bày chi tiết trong một số báo khác của _ExcelTips: _

http://excel.tips.net/T003289

Cách tiếp cận đó rất tốt trong việc xác định tên người dùng liên quan đến cài đặt Excel hiện tại. Tuy nhiên, điều đó có thể không giống với việc ai đang sử dụng sổ làm việc hiện tại. Ví dụ: nếu sổ làm việc được chia sẻ, có thể nhiều người có thể sử dụng nó cùng một lúc. Trong trường hợp đó, bạn cần một cách để xác định những tên đó, như được hiển thị ở đây:

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

Để sử dụng hàm, chỉ cần nhập công thức sau vào ô mà bạn muốn tên xuất hiện:

=UserNames

Thay vào đó, nếu bạn muốn biết ai đang sử dụng máy tính hiện tại, cách tốt nhất là tìm ngoài Office và thay vào đó lấy tên từ chính Windows. Bằng cách đó, bạn có thể xác định ai đã đăng nhập vào Windows và sử dụng tên đó làm tên người dùng. Điều này cần một khai báo lời gọi hàm API, nhưng tương đối dễ dàng:

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

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (7251) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: