如何:在单元格中显示当前用户的登录 ID

可以使用表示当前用户的 WindowsIdentity 对象的 GetCurrent 方法读取当前用户的登录 ID。 然后,可以在 Microsoft Office Excel 工作表中的命名范围内显示该用户的登录 ID。

**适用于:**本主题中的信息适用于 Excel 2007 和 Excel 2010 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

若要在单元格中显示文本,请使用 NamedRange 控件或本机 Excel 范围对象。

使用 NamedRange 控件

此示例针对的是文档级自定义项。 必须将下面的代码放置到某个表类中,而不是放置到 ThisWorkbook 类中。

在命名范围内显示当前用户的登录 ID

  1. 获取用户的登录 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();
    
  2. 创建一个名为 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

  1. 获取用户的登录 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();
    
  2. 创建一个名为 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;
    

可靠编程

以下情况可能会导致异常:

请参见

任务

如何:使用代码引用工作表范围

如何:创建 WindowsPrincipal 对象

概念

使用单元格

Office 解决方案中的可选参数