Office projelerindeki nesnelere genel erişim

Bir Office projesi oluşturduğunuzda, Visual Studio projede adlı Globals bir sınıfı otomatik olarak oluşturur. sınıfını Globals kullanarak, çalışma zamanında projedeki herhangi bir koddan birkaç farklı proje öğesine erişebilirsiniz.

Şunlar için geçerlidir: Bu konudaki bilgiler belge düzeyi projeler ve VSTO Eklenti projeleri için geçerlidir. Bkz. Office uygulaması ve proje türüne göre kullanılabilen özellikler.

Globals sınıfını kullanma

Globals , projenizdeki belirli öğelere başvuruları tutan statik bir sınıftır. sınıfını Globals kullanarak, çalışma zamanında projedeki herhangi bir koddan aşağıdaki öğelere erişebilirsiniz:

  • ThisWorkbook Excel çalışma kitabı veya şablon projesindeki ve Sheetn sınıfları. ve Sheetn özelliklerini kullanarak bu nesnelere Globals.ThisWorkbook erişebilirsiniz.

  • ThisDocument Word belgesi veya şablon projesindeki sınıfı. özelliğini kullanarak bu nesneye Globals.ThisDocument erişebilirsiniz.

  • ThisAddIn VSTO Eklentisi projesindeki sınıf. özelliğini kullanarak bu nesneye Globals.ThisAddIn erişebilirsiniz.

  • Şerit Tasarım Aracı kullanarak özelleştirdiğiniz projenizdeki tüm Şeritler. Özelliğini kullanarak Şeritler'e Globals.Ribbons erişebilirsiniz. Daha fazla bilgi için bkz . Çalışma zamanında şeride erişme.

  • Outlook VSTO Eklenti projesindeki tüm Outlook form bölgeleri. Özelliğini kullanarak form bölgelerine Globals.FormRegions erişebilirsiniz. Daha fazla bilgi için bkz . Çalışma zamanında form bölgesine erişme.

  • .NET Framework 4 veya .NET Framework 4.5'i hedefleyen projelerde Şerit denetimleri oluşturmanıza ve çalışma zamanında öğeleri barındırmanıza olanak tanıyan bir fabrika nesnesi. özelliğini kullanarak bu nesneye Globals.Factory erişebilirsiniz. Bu nesne, aşağıdaki arabirimlerden birini uygulayan bir sınıfın örneğidir:

    Örneğin, bir kullanıcı Excel için belge düzeyi projesindeki Globals.Sheet1 eylemler bölmesindeki bir NamedRange düğmeye tıkladığında denetimine Sheet1 metin eklemek için özelliğini kullanabilirsiniz.

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

Belge veya VSTO Eklentisi başlatılmadan önce sınıfını kullanmaya Globals çalışan kod bir çalışma zamanı özel durumu oluşturabilir. Örneğin, sınıf düzeyi değişken bildirilirken kullanma Globals başarısız olabilir çünkü Globals sınıf, bildirilen nesne örneği başlatılmadan önce konak öğelerinin tümüne başvurularla başlatılamayabilir.

Not

Globals Sınıf tasarım zamanında hiçbir zaman başlatılmaz, ancak denetim örnekleri tasarımcı tarafından oluşturulur. Bu, bir kullanıcı denetimi sınıfının içinden sınıfının özelliğini Globals kullanan bir kullanıcı denetimi oluşturursanız, döndürülen nesneyi kullanmaya çalışmadan önce özelliğin null döndürdüğünü denetlemeniz gerektiği anlamına gelir.