Поделиться через


Практическое руководство. Отображение в ячейке имени текущего пользователя

Обновлен: Ноябрь 2007

Применение

Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office.

Тип проекта

  • Проекты уровня документа

  • Проекты уровня приложения

Версия Microsoft Office

  • Excel 2003

  • Excel 2007

Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов.

Метод GetCurrent объекта WindowsIdentity позволяет зачитать имя текущего пользователя. Затем полученное имя можно отобразить на листе Microsoft Office Excel в именованном диапазоне, чтобы представить текущего пользователя.

Для отображения текста в ячейке используйте элемент управления NamedRange или собственный объект диапазона Excel.

Использование элемента управления NamedRange

В этом примере демонстрируется настройка уровня документа. Данный код необходимо поместить в класс листа, а не в класс ThisWorkbook.

Чтобы отобразить имя текущего пользователя в именованном диапазоне

  1. Получите имя пользователя.

    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. Создайте элемент управления NamedRange с именем управления userID и отобразите имя пользователя.

    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

  1. Получите имя пользователя.

    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. Создайте объект Range с именем userID и отобразите имя пользователя.

    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).

См. также

Задачи

Практическое руководство. Ссылки на диапазоны листов в коде

Практическое руководство. Создание объекта WindowsPrincipal

Основные понятия

Работа с ячейками

Общие сведения о необязательных параметрах в решениях Office