如何:在单元格中显示当前用户的登录 ID
可以使用表示当前用户的 WindowsIdentity 对象的 GetCurrent 方法读取当前用户的登录 ID。 然后,可以在 Microsoft Office Excel 工作表中的命名范围内显示该用户的登录 ID。
**适用于:**本主题中的信息适用于 Excel 2007 和 Excel 2010 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能。
若要在单元格中显示文本,请使用 NamedRange 控件或本机 Excel 范围对象。
使用 NamedRange 控件
此示例针对的是文档级自定义项。 必须将下面的代码放置到某个表类中,而不是放置到 ThisWorkbook 类中。
在命名范围内显示当前用户的登录 ID
获取用户的登录 ID。
Dim user As System.Security.Principal.WindowsIdentity user = System.Security.Principal.WindowsIdentity.GetCurrent()
System.Security.Principal.WindowsIdentity user; user = System.Security.Principal.WindowsIdentity.GetCurrent();
创建一个名为 userID 的 NamedRange 控件,并显示用户的登录 ID。
Dim userID As Microsoft.Office.Tools.Excel.NamedRange userID = Me.Controls.AddNamedRange(Me.Range("A1"), "userID") userID.Value2 = user.Name
Microsoft.Office.Tools.Excel.NamedRange userID; userID = this.Controls.AddNamedRange(this.Range["A1", missing], "userID"); userID.Value2 = user.Name;
使用本机 Excel 范围
在本机 Excel 范围内显示当前用户的登录 ID
获取用户的登录 ID。
Dim user As System.Security.Principal.WindowsIdentity user = System.Security.Principal.WindowsIdentity.GetCurrent()
System.Security.Principal.WindowsIdentity user; user = System.Security.Principal.WindowsIdentity.GetCurrent();
创建一个名为 userID 的 Range,并显示用户的登录 ID。
Dim userID As Excel.Range = Me.Application.Range("A1") userID.Value2 = user.Name
Excel.Range userID = this.Application.get_Range("A1", missing); userID.Value2 = user.Name;
可靠编程
以下情况可能会导致异常:
用户没有访问 WindowsIdentity(SecurityException 类)的权限。
互操作性问题(COMException 类)。