Bagikan melalui


Akses global ke objek di proyek Office

Saat Anda membuat proyek Office, Visual Studio secara otomatis menghasilkan kelas bernama Globals dalam proyek. Anda dapat menggunakan Globals kelas untuk mengakses beberapa item proyek yang berbeda pada run time dari kode apa pun dalam proyek.

Berlaku untuk: Informasi dalam topik ini berlaku untuk proyek tingkat dokumen dan proyek Add-in VSTO. Lihat Fitur yang tersedia berdasarkan aplikasi Office likasi dan jenis proyek.

Cara menggunakan kelas Global

Globals adalah kelas statis yang menyimpan referensi ke item tertentu dalam proyek Anda. Dengan menggunakan kelas , Globals Anda dapat mengakses item berikut dari kode apa pun dalam proyek pada waktu proses:

  • Kelas ThisWorkbook dan Sheetn dalam buku kerja Excel atau proyek templat. Anda dapat mengakses objek ini dengan menggunakan Globals.ThisWorkbook properti dan Sheetn .

  • Kelas ThisDocument dalam dokumen Word atau proyek templat. Anda dapat mengakses objek ini dengan menggunakan Globals.ThisDocument properti .

  • Kelas ThisAddIn dalam proyek Add-in VSTO. Anda dapat mengakses objek ini dengan menggunakan Globals.ThisAddIn properti .

  • Semua Pita dalam proyek yang Anda kustomisasi dengan menggunakan Perancang Pita. Anda bisa mengakses Pita dengan menggunakan Globals.Ribbons properti . Untuk informasi selengkapnya, lihat Mengakses Pita pada waktu proses.

  • Semua wilayah formulir Outlook dalam proyek Add-in Outlook VSTO. Anda dapat mengakses wilayah formulir dengan menggunakan Globals.FormRegions properti . Untuk informasi selengkapnya, lihat Mengakses wilayah formulir pada waktu proses.

  • Objek pabrik yang memungkinkan Anda membuat kontrol Pita, dan menghosting item pada waktu proses dalam proyek yang menargetkan .NET Framework 4 atau .NET Framework 4.5. Anda dapat mengakses objek ini dengan menggunakan Globals.Factory properti . Objek ini adalah instans kelas yang mengimplementasikan salah satu antarmuka berikut:

    Misalnya, Anda bisa menggunakan Globals.Sheet1 properti untuk menyisipkan teks ke dalam NamedRange kontrol saat Sheet1 pengguna mengklik tombol pada panel tindakan dalam proyek tingkat dokumen untuk Excel.

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

Kode yang mencoba menggunakan Globals kelas sebelum dokumen atau Add-in VSTO diinisialisasi dapat melemparkan pengecualian run time. Misalnya, menggunakan Globals saat mendeklarasikan variabel tingkat kelas mungkin gagal karena Globals kelas mungkin tidak diinisialisasi dengan referensi ke semua item host sebelum objek yang dideklarasikan dibuat.

Catatan

Kelas Globals tidak pernah diinisialisasi pada waktu desain, tetapi instans kontrol dibuat oleh perancang. Ini berarti bahwa jika Anda membuat kontrol pengguna yang menggunakan properti Globals kelas dari dalam kelas kontrol pengguna, Anda harus memeriksa apakah properti mengembalikan null sebelum mencoba menggunakan objek yang dikembalikan.