Bagikan melalui


Kustomisasi tingkat dokumen program

Saat Anda memperluas Microsoft Office Word atau Microsoft Office Excel dengan menggunakan kustomisasi tingkat dokumen, Anda bisa melakukan tugas berikut:

  • Mengotomatiskan aplikasi dengan menggunakan model objeknya.

  • Tambahkan kontrol ke permukaan dokumen.

  • Panggil kode Visual Basic for Applications (VBA) dalam dokumen dari rakitan kustomisasi.

  • Kode panggilan dalam rakitan kustomisasi dari VBA.

  • Kelola aspek tertentu dari dokumen saat berada di server yang tidak menginstal Microsoft Office.

  • Sesuaikan antarmuka pengguna (UI) aplikasi.

    Berlaku untuk: Informasi dalam topik ini berlaku untuk proyek tingkat dokumen untuk Excel dan Word. Untuk informasi selengkapnya, lihat Fitur yang tersedia berdasarkan aplikasi Office likasi dan jenis proyek.

    Beberapa aspek penulisan kode dalam proyek tingkat dokumen berbeda dari jenis proyek lain di Visual Studio. Banyak dari perbedaan ini disebabkan oleh cara model objek Office diekspos ke kode terkelola. Untuk informasi selengkapnya, lihat Menulis kode di solusi Office.

    Untuk informasi umum tentang kustomisasi tingkat dokumen dan jenis solusi lain yang bisa Anda buat dengan menggunakan alat pengembangan Office di Visual Studio, lihat Gambaran umum pengembangan solusi Office (VSTO).

Menggunakan kelas yang dihasilkan dalam proyek tingkat dokumen

Saat Anda membuat proyek tingkat dokumen, Visual Studio secara otomatis menghasilkan kelas dalam proyek yang dapat Anda gunakan untuk mulai menulis kode Anda. Visual Studio menghasilkan kelas yang berbeda untuk Word dan Excel:

  • Dalam proyek tingkat dokumen untuk Word, kelas dipanggil ThisDocument secara default.

  • Proyek tingkat dokumen untuk Excel memiliki beberapa kelas yang dihasilkan: satu untuk buku kerja itu sendiri, dan satu untuk setiap lembar kerja. Secara default, kelas-kelas ini memiliki nama berikut:

    • ThisWorkbook

    • Sheet1

    • Sheet2

    • Sheet3

    Kelas yang dihasilkan mencakup penanganan aktivitas yang dipanggil saat dokumen dibuka atau ditutup. Untuk menjalankan kode saat dokumen dibuka, tambahkan kode ke penanganan Startup aktivitas. Untuk menjalankan kode tepat sebelum dokumen ditutup, tambahkan kode ke penanganan Shutdown aktivitas. Untuk informasi selengkapnya, lihat Peristiwa di proyek Office.

Memahami desain kelas yang dihasilkan

Dalam proyek yang menargetkan .NET Framework 4 atau .NET Framework 4.5, jenis item host di runtime Visual Studio Tools for Office adalah antarmuka, sehingga kelas yang dihasilkan tidak dapat memperoleh implementasinya darinya. Sebaliknya, kelas yang dihasilkan memperoleh sebagian besar anggota mereka dari kelas dasar berikut:

  • ThisDocument: berasal dari DocumentBase.

  • ThisWorkbook: berasal dari WorkbookBase.

  • Sheetn: berasal dari WorksheetBase.

    Kelas dasar ini mengalihkan semua panggilan ke anggota mereka ke implementasi internal antarmuka item host yang sesuai di Visual Studio Tools untuk runtime Office . Misalnya, jika Anda memanggil Protect metode kelas , DocumentBase kelas mengalihkan panggilan ini ke implementasi Document internal antarmuka di Visual Studio Tools untuk ThisDocument runtime Office .

Mengakses model objek aplikasi host

Untuk mengakses model objek aplikasi host, gunakan anggota kelas yang dihasilkan dalam proyek Anda. Masing-masing kelas ini sesuai dengan objek dalam model objek Excel atau Word, dan berisi sebagian besar properti, metode, dan peristiwa yang sama. Misalnya, ThisDocument kelas dalam proyek tingkat dokumen untuk Word menyediakan sebagian besar anggota yang sama dengan Document objek dalam model objek Word.

Contoh kode berikut menunjukkan cara menggunakan model objek Word untuk menyimpan dokumen yang merupakan bagian dari kustomisasi tingkat dokumen untuk Word. Contoh ini dimaksudkan untuk dijalankan dari ThisDocument kelas .

this.Save();

Untuk melakukan hal yang sama dari luar ThisDocument kelas, gunakan Globals objek untuk mengakses ThisDocument kelas. Misalnya, Anda dapat menambahkan kode ini ke file kode panel tindakan jika Anda ingin menyertakan tombol Simpan di UI panel tindakan.

Globals.ThisDocument.Save();

ThisDocument Karena kelas memperoleh sebagian besar anggotanya dari Document item host, Save metode yang dipanggil dalam kode ini benar-benar Save metode Document item host. Metode ini sesuai dengan Save metode Document objek dalam model objek Word.

Untuk informasi selengkapnya tentang menggunakan model objek Word dan Excel, lihat Gambaran umum model objek Word dan gambaran umum model objek Excel.

Untuk informasi selengkapnya tentang objek, Globals lihat Akses global ke objek di proyek Office.

Menambahkan kontrol ke dokumen

Untuk mengkustomisasi UI dokumen, Anda bisa menambahkan kontrol Formulir Windows atau kontrol host ke permukaan dokumen. Dengan menggabungkan serangkaian kontrol yang berbeda dan menulis kode, Anda dapat mengikat kontrol ke data, mengumpulkan informasi dari pengguna, dan menanggapi tindakan pengguna.

Kontrol host adalah kelas yang memperluas beberapa objek dalam model objek Word dan Excel. Misalnya, ListObject kontrol host menyediakan semua fungsionalitas ListObject di Excel. Namun, ListObject kontrol host juga memiliki peristiwa tambahan dan kemampuan pengikatan data.

Untuk informasi selengkapnya, lihat Gambaran umum item host dan kontrol host dan kontrol formulir Windows pada gambaran umum dokumen Office.

Menggabungkan VBA dan kustomisasi tingkat dokumen

Anda dapat menggunakan kode VBA dalam dokumen yang merupakan bagian dari kustomisasi tingkat dokumen. Anda dapat memanggil kode VBA dalam dokumen dari rakitan kustomisasi, dan Anda juga dapat mengonfigurasi proyek Anda untuk mengaktifkan kode VBA dalam dokumen untuk memanggil kode dalam rakitan kustomisasi.

Untuk informasi selengkapnya, lihat Menggabungkan VBA dan kustomisasi tingkat dokumen.

Mengelola dokumen di server

Anda bisa mengelola beberapa aspek kustomisasi tingkat dokumen yang berbeda di server yang tidak menginstal Microsoft Office Word atau Microsoft Office Excel. Misalnya, Anda dapat mengakses dan memodifikasi data dalam cache data dokumen. Anda juga dapat mengelola rakitan kustomisasi yang terkait dengan dokumen. Misalnya, Anda dapat menghapus rakitan secara terprogram dari dokumen sehingga dokumen tidak lagi menjalankan kode Anda, atau Anda dapat melampirkan rakitan secara terprogram ke dokumen.

Untuk informasi selengkapnya, lihat Mengelola dokumen di server dengan menggunakan kelas ServerDocument.

Mengkustomisasi antarmuka pengguna Microsoft aplikasi Office lications

Anda bisa mengkustomisasi UI Word dan Excel dengan cara berikut dengan menggunakan kustomisasi tingkat dokumen:

Mendapatkan objek yang diperluas dari objek Office asli dalam kustomisasi tingkat dokumen

Banyak penanganan aktivitas untuk peristiwa Office menerima objek Office asli yang mewakili buku kerja, lembar kerja, atau dokumen yang memunculkan peristiwa. Dalam beberapa kasus, Anda mungkin ingin menjalankan beberapa kode hanya jika buku kerja atau dokumen dalam kustomisasi tingkat dokumen Anda memunculkan peristiwa. Misalnya, dalam kustomisasi tingkat dokumen untuk Excel, Anda mungkin ingin menjalankan beberapa kode saat pengguna mengaktifkan salah satu lembar kerja dalam buku kerja yang dikustomisasi, tetapi tidak ketika pengguna mengaktifkan lembar kerja di beberapa buku kerja lain yang kebetulan terbuka pada saat yang sama.

Saat Anda memiliki objek Office asli, Anda dapat menguji apakah objek tersebut telah diperluas menjadi item host atau kontrol host dalam kustomisasi tingkat dokumen. Item host dan kontrol host adalah tipe yang disediakan oleh runtime Visual Studio Tools for Office yang menambahkan fungsionalitas ke objek yang ada secara asli dalam model objek Word atau Excel (disebut objek Office asli). Secara kolektif, item host dan kontrol host juga disebut objek yang diperluas. Untuk informasi selengkapnya tentang item host dan kontrol host, lihat Gambaran umum item host dan kontrol host.

Memahami metode GetVstoObject dan HasVstoObject

Untuk menguji objek Office asli, gunakan HasVstoObject metode dan GetVstoObject dalam proyek Anda:

  • HasVstoObject Gunakan metode jika Anda ingin menentukan apakah objek Office asli memiliki objek yang diperluas dalam kustomisasi Anda. Metode ini mengembalikan true jika objek Office asli memiliki objek yang diperluas, dan salah jika tidak.

  • GetVstoObject Gunakan metode jika Anda ingin mendapatkan objek yang diperluas untuk objek Office asli. Metode ini mengembalikan ListObjectobjek , Workbook, Worksheet, atau Document jika objek Office asli yang ditentukan memilikinya. Jika tidak, GetVstoObject mengembalikan null. Misalnya, GetVstoObject metode mengembalikan jika yang ditentukan Document adalah objek yang mendasar Document untuk dokumen dalam proyek dokumen Word Anda.

    Dalam proyek tingkat dokumen, Anda tidak dapat menggunakan GetVstoObject metode untuk membuat item host , , Worksheetatau Document baru Workbookpada waktu proses. Anda hanya dapat menggunakan metode ini untuk mengakses item host yang ada yang dihasilkan dalam proyek Anda pada waktu desain. Jika Anda ingin membuat item host baru pada waktu proses, Anda harus mengembangkan proyek Add-in VSTO. Untuk informasi selengkapnya, lihat Batasan terprogram item host dan kontrol host dan Memperluas dokumen Word dan buku kerja Excel di Add-in VSTO pada waktu proses.

Gunakan metode GetVstoObject dan HasVstoObject

Untuk memanggil HasVstoObject metode dan GetVstoObject , gunakan Globals.Factory.GetVstoObject metode atau Globals.Factory.HasVstoObject , dan teruskan objek Word atau Excel asli (seperti Document atau Worksheet) yang ingin Anda uji.