Глобальный доступ к объектам в Visual Studio Tools for Office
Обновлен: Ноябрь 2007
Можно использовать класс Globals для доступа к различным элементам проекта из любого кода проекта.
Использование глобальных данных
Globals является статическим классом, содержащим ссылки на элементы проекта. Используя класс Globals, можно ссылаться на следующие элементы из любого кода проекта:
Workbook или любой ведущий элемент Worksheet в книге Excel или проекте шаблона. Доступ к этим ведущим элементам осуществляется с использованием свойств класса Globals, который ссылается на каждый ведущий элемент проекта. По умолчанию, ведущие элементы имеют имена ThisWorkbook, Sheet1, Sheet2 и Sheet3.
Ведущий элемент Document в документе Word или проекте шаблона. Именем по умолчанию этого свойства ведущего элемента является Globals.ThisDocument.
Ведущий элемент AddIn в проекте уровня приложения. Именем по умолчанию этого свойства ведущего элемента является Globals.ThisAddIn.
Все ленты проекта, настроенного с использованием конструктора лент. Можно получить доступ к лентам с помощью свойства Globals.Ribbons.
Все области форм Outlook в проекте надстройки Outlook. Можно получить доступ к областям форм с помощью свойства Globals.FormRegions.
Например, можно написать код для вставки текста в элемент управления NamedRange на Sheet1, когда пользователь нажимает кнопку в панели действий, как показано в следующем примере.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
If Globals.Sheet1 IsNot Nothing Then
Globals.Sheet1.NamedRange1.Value2 = Me.TextBox1.Text
End If
End Sub
private void button1_Click(object sender, EventArgs e)
{
if (Globals.Sheet1 != null)
{
Globals.Sheet1.namedRange1.Value2 = this.textBox1.Text;
}
}
Инициализация класса Globals
Код, который пытается использовать класс Globals до того, как документ или надстройка полностью инициализированы, может вызвать прерывание во время выполнения. Например, использование Globals во время объявления переменной уровня класса может привести к сбою, потому что класс Globals может не быть инициализирован со ссылками ко всем ведущим элементам до создания объявленного объекта.
Примечание. |
---|
Класс Globals никогда не инициализируется во время разработки, но экземпляры элементов управления создаются разработчиком. Это означает, что если создается пользовательский элемент управления, который вызывает методы класса Globals, то необходимо написать код, проверяющий, возвращает ли метод значение null до того, как к нему совершаются попытки доступа. |
См. также
Основные понятия
Доступ к ленте во время выполнения
Доступ к области формы во время выполнения
Общие сведения о ведущих элементах и элементах управления ведущего приложения