Udostępnij za pośrednictwem


Globalny dostęp do obiektów w projektach pakietu Office

Podczas tworzenia projektu pakietu Office program Visual Studio automatycznie generuje klasę o nazwie Globals w projekcie. Możesz użyć Globals klasy , aby uzyskać dostęp do kilku różnych elementów projektu w czasie wykonywania z dowolnego kodu w projekcie.

Dotyczy: informacje w tym temacie dotyczą projektów na poziomie dokumentu i projektów dodatków VSTO. Zobacz Funkcje dostępne według aplikacja pakietu Office lication i typu projektu.

Jak używać klasy Globals

Globals jest klasą statyczną, która przechowuje odwołania do niektórych elementów w projekcie. Korzystając z Globals klasy, możesz uzyskać dostęp do następujących elementów z dowolnego kodu w projekcie w czasie wykonywania:

  • Klasy ThisWorkbook i Sheetn w skoroszycie programu Excel lub projekcie szablonu. Dostęp do tych obiektów można uzyskać przy użyciu Globals.ThisWorkbook właściwości i Sheetn .

  • Klasa ThisDocument w projekcie dokumentu lub szablonu programu Word. Dostęp do tego obiektu można uzyskać za pomocą Globals.ThisDocument właściwości .

  • Klasa ThisAddIn w projekcie dodatku VSTO. Dostęp do tego obiektu można uzyskać za pomocą Globals.ThisAddIn właściwości .

  • Wszystkie wstążki w projekcie dostosowane przy użyciu Projektant wstążki. Dostęp do wstążek można uzyskać za pomocą Globals.Ribbons właściwości . Aby uzyskać więcej informacji, zobacz Uzyskiwanie dostępu do wstążki w czasie wykonywania.

  • Wszystkie regiony formularzy programu Outlook w projekcie dodatku VSTO programu Outlook. Dostęp do regionów formularzy można uzyskać przy użyciu Globals.FormRegions właściwości . Aby uzyskać więcej informacji, zobacz Uzyskiwanie dostępu do regionu formularza w czasie wykonywania.

  • Obiekt fabryki, który umożliwia tworzenie kontrolek wstążki i elementów hostów w czasie wykonywania w projektach przeznaczonych dla programu .NET Framework 4 lub .NET Framework 4.5. Dostęp do tego obiektu można uzyskać za pomocą Globals.Factory właściwości . Ten obiekt jest wystąpieniem klasy implementujące jeden z następujących interfejsów:

    Można na przykład użyć Globals.Sheet1 właściwości , aby wstawić tekst do NamedRange kontrolki Sheet1 , gdy użytkownik kliknie przycisk w okienku akcji w projekcie na poziomie dokumentu dla programu Excel.

    private void button1_Click(object sender, EventArgs e)
    {
        Globals.Sheet1.namedRange1.Value2 = this.textBox1.Text;
    }
    

Kod, który próbuje użyć Globals klasy przed zainicjowaniem dokumentu lub dodatku VSTO, może zgłosić wyjątek czasu wykonywania. Na przykład użycie Globals podczas deklarowania zmiennej na poziomie klasy może zakończyć się niepowodzeniem, ponieważ Globals klasa może nie zostać zainicjowana przy użyciu odwołań do wszystkich elementów hosta przed utworzeniem wystąpienia zadeklarowanego obiektu.

Uwaga

Klasa Globals nigdy nie jest inicjowana w czasie projektowania, ale wystąpienia kontrolek są tworzone przez projektanta. Oznacza to, że jeśli tworzysz kontrolkę użytkownika używającą właściwości Globals klasy z wewnątrz klasy kontrolki użytkownika, przed podjęciem próby użycia zwróconego obiektu należy sprawdzić, czy właściwość zwraca wartość null .