Bagikan melalui


Panduan: Membuat templat dengan menggunakan kontrol konten

Panduan ini menunjukkan cara membuat kustomisasi tingkat dokumen yang menggunakan kontrol konten untuk membuat konten terstruktur dan dapat digunakan kembali dalam templat Microsoft Office Word.

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

Word memungkinkan Anda membuat kumpulan bagian dokumen yang dapat digunakan kembali, bernama blok penyusun. Panduan ini menunjukkan cara membuat dua tabel sebagai blok penyusun. Setiap tabel berisi beberapa kontrol konten yang bisa menampung berbagai jenis konten, seperti teks biasa atau tanggal. Salah satu tabel berisi informasi tentang karyawan, dan tabel lainnya berisi umpan balik pelanggan.

Setelah membuat dokumen dari templat, Anda bisa menambahkan salah satu tabel ke dokumen dengan menggunakan beberapa BuildingBlockGalleryContentControl objek, yang menampilkan blok penyusun yang tersedia di templat.

Panduan ini mengilustrasikan tugas-tugas berikut:

  • Membuat tabel yang berisi kontrol konten dalam templat Word pada waktu desain.

  • Mengisi kontrol konten kotak kombo dan kontrol konten daftar drop-down secara terprogram.

  • Mencegah pengguna mengedit tabel tertentu.

  • Menambahkan tabel ke kumpulan blok penyusun templat.

  • Membuat kontrol konten yang menampilkan blok penyusun yang tersedia dalam templat.

    Catatan

    Komputer Anda mungkin memperlihatkan nama atau lokasi yang berbeda untuk beberapa elemen antarmuka pengguna Visual Studio dalam petunjuk berikut. Edisi Visual Studio yang Anda miliki dan setelan yang Anda gunakan menentukan elemen-elemen ini. Untuk informasi selengkapnya, lihat Mempersonalisasi IDE.

Prasyarat

Anda memerlukan komponen berikut untuk menyelesaikan panduan ini:

Membuat proyek templat Word baru

Buat templat Word sehingga pengguna bisa membuat salinan mereka sendiri dengan mudah.

Untuk membuat proyek templat Word baru

  1. Buat proyek templat Word dengan nama MyBuildingBlockTemplate. Di wizard, buat dokumen baru dalam solusi. Untuk informasi selengkapnya, lihat Cara: Membuat proyek Office di Visual Studio.

    Visual Studio membuka templat Word baru di perancang dan menambahkan proyek MyBuildingBlockTemplate ke Penjelajah Solusi.

Membuat tabel karyawan

Buat tabel yang berisi empat jenis kontrol konten berbeda tempat pengguna bisa memasukkan informasi tentang karyawan.

Untuk membuat tabel karyawan

  1. Di templat Word yang dihosting di perancang Visual Studio, pada Pita, klik tab Sisipkan .

  2. Dalam grup Tabel, klik Tabel, dan sisipkan tabel dengan dua kolom dan empat baris.

  3. Ketik teks di kolom pertama sehingga menyerupan kolom berikut:

    Nama Karyawan
    Tanggal Sewa
    Judul
    Gambar
  4. Klik sel pertama di kolom kedua (di samping Nama Karyawan).

  5. Pada Pita, klik tab Pengembang .

    Catatan

    Jika tab Pengembang tidak terlihat, Anda harus terlebih dahulu memperlihatkannya. Untuk informasi selengkapnya, lihat Cara: Memperlihatkan tab pengembang pada pita.

  6. Di grup Kontrol, klik tombol PlainTextContentControl Teks untuk menambahkan PlainTextContentControl ke sel pertama.

  7. Klik sel kedua di kolom kedua (di samping Tanggal Persewaan).

  8. Di grup Kontrol, klik tombol DatePickerContentControl Pemilih Tanggal untuk menambahkan DatePickerContentControl ke sel kedua.

  9. Klik sel ketiga di kolom kedua (di samping Judul).

  10. Di grup Kontrol, klik tombol ComboBoxContentControl Kotak Kombo untuk menambahkan ComboBoxContentControl ke sel ketiga.

  11. Klik sel terakhir di kolom kedua (di samping Gambar).

  12. Di grup Kontrol, klik tombol PictureContentControl Kontrol Konten Gambar untuk menambahkan PictureContentControl ke sel terakhir.

Membuat tabel umpan balik pelanggan

Buat tabel yang berisi tiga jenis kontrol konten berbeda tempat pengguna dapat memasukkan informasi umpan balik pelanggan.

Untuk membuat tabel umpan balik pelanggan

  1. Di templat Word, klik di baris setelah tabel karyawan yang Anda tambahkan sebelumnya, dan tekan Enter untuk menambahkan paragraf baru.

  2. Pada Pita, klik tab Sisipkan .

  3. Dalam grup Tabel, klik Tabel, dan sisipkan tabel dengan dua kolom dan tiga baris.

  4. Ketik teks di kolom pertama sehingga menyerupan kolom berikut:

    Nama Pelanggan
    Peringkat Kepuasan
    Komentar
  5. Klik di sel pertama kolom kedua (di samping Nama Pelanggan).

  6. Pada Pita, klik tab Pengembang .

  7. Di grup Kontrol, klik tombol PlainTextContentControl Teks untuk menambahkan PlainTextContentControl ke sel pertama.

  8. Klik di sel kedua kolom kedua (di samping Peringkat Kepuasan).

  9. Di grup Kontrol, klik tombol DropDownListContentControl Daftar Drop-Down untuk menambahkan DropDownListContentControl ke sel kedua.

  10. Klik di sel terakhir kolom kedua (di samping Komentar).

  11. Di grup Kontrol, klik tombol RichTextContentControl Teks Kaya untuk menambahkan RichTextContentControl ke sel terakhir.

Mengisi kotak kombo dan daftar drop-down secara terprogram

Anda dapat menginisialisasi kontrol konten pada waktu desain dengan menggunakan jendela Properti di Visual Studio. Anda juga dapat menginisialisasinya pada waktu proses, yang memungkinkan Anda mengatur status awal secara dinamis. Untuk panduan ini, gunakan kode untuk mengisi entri dalam ComboBoxContentControl dan DropDownListContentControl pada waktu proses sehingga Anda dapat melihat cara kerja objek ini.

Untuk mengubah UI kontrol konten secara terprogram

  1. Di Penjelajah Solusi, klik kanan ThisDocument.cs atau ThisDocument.vb, lalu klik Tampilkan Kode.

  2. Tambahkan kode berikut ke kelas ThisDocument. Kode ini mendeklarasikan beberapa objek yang akan Anda gunakan nanti dalam panduan ini.

    private Microsoft.Office.Tools.Word.GroupContentControl groupControl1;
    private Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl buildingBlockControl1;
    private Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl buildingBlockControl2;
    
  3. Tambahkan kode berikut ke ThisDocument_Startup metode ThisDocument kelas . Kode ini menambahkan entri ke ComboBoxContentControl dan DropDownListContentControl dalam tabel, dan mengatur teks tempat penampung yang ditampilkan di masing-masing kontrol ini sebelum pengguna mengeditnya.

    comboBoxContentControl1.PlaceholderText = "Choose a title, or enter your own";
    comboBoxContentControl1.DropDownListEntries.Add("Engineer", "Engineer", 0);
    comboBoxContentControl1.DropDownListEntries.Add("Designer", "Designer", 1);
    comboBoxContentControl1.DropDownListEntries.Add("Manager", "Manager", 2);
    
    dropDownListContentControl1.PlaceholderText =
        "Choose a rating (1 lowest, 3 highest)";
    dropDownListContentControl1.DropDownListEntries.Add("1", "1", 0);
    dropDownListContentControl1.DropDownListEntries.Add("2", "2", 1);
    dropDownListContentControl1.DropDownListEntries.Add("3", "3", 2);
    

Mencegah pengguna mengedit tabel karyawan

GroupContentControl Gunakan objek yang Anda deklarasikan sebelumnya untuk melindungi tabel karyawan. Setelah memproteksi tabel, pengguna masih dapat mengedit kontrol konten dalam tabel. Namun, mereka tidak dapat mengedit teks di kolom pertama atau mengubah tabel dengan cara lain, seperti menambahkan atau menghapus baris dan kolom. Untuk informasi selengkapnya tentang cara menggunakan GroupContentControl untuk melindungi bagian dari dokumen, lihat Kontrol konten.

Untuk mencegah pengguna mengedit tabel karyawan

  1. Tambahkan kode berikut ke ThisDocument_Startup metode ThisDocument kelas , setelah kode yang Anda tambahkan di langkah sebelumnya. Kode ini mencegah pengguna mengedit tabel karyawan dengan meletakkan tabel di dalam GroupContentControl objek yang Anda deklarasikan sebelumnya.

    this.Tables[1].Range.Select();
    groupControl1 = this.Controls.AddGroupContentControl("groupControl1");
    

Menambahkan tabel ke kumpulan blok penyusun

Tambahkan tabel ke kumpulan blok penyusun dokumen dalam templat sehingga pengguna bisa menyisipkan tabel yang telah Anda buat ke dalam dokumen. Untuk informasi selengkapnya tentang blok penyusun dokumen, lihat Kontrol konten.

Untuk menambahkan tabel ke blok penyusun dalam templat

  1. Tambahkan kode berikut ke ThisDocument_Startup metode ThisDocument kelas , setelah kode yang Anda tambahkan di langkah sebelumnya. Kode ini menambahkan blok penyusun baru yang berisi tabel ke koleksi Microsoft.Office.Interop.Word.BuildingBlockEntries, yang berisi semua blok penyusun yang dapat digunakan kembali dalam templat. Blok penyusun baru didefinisikan dalam kategori baru bernama Informasi Karyawan dan Pelanggan dan diberi jenis Microsoft.Office.Interop.Word.WdBuildingBlockTypes.wdTypeCustom1blok penyusun .

    Word.Template template1 = this.AttachedTemplate as Word.Template;
    
    if (template1 != null)
    {
        object description = null;
        template1.BuildingBlockEntries.Add("Employee Table",
            Word.WdBuildingBlockTypes.wdTypeCustom1, "Employee and Customer Information",
            this.Tables[1].Range, ref description, Word.WdDocPartInsertOptions.wdInsertContent);
        template1.BuildingBlockEntries.Add("Customer Table",
            Word.WdBuildingBlockTypes.wdTypeCustom1, "Employee and Customer Information",
            this.Tables[2].Range, ref description, Word.WdDocPartInsertOptions.wdInsertContent);
    }
    
  2. Tambahkan kode berikut ke ThisDocument_Startup metode ThisDocument kelas , setelah kode yang Anda tambahkan di langkah sebelumnya. Kode ini menghapus tabel dari templat. Tabel tidak lagi diperlukan, karena Anda telah menambahkannya ke galeri blok penyusun yang dapat digunakan kembali dalam templat. Kode pertama-tama menempatkan dokumen ke dalam mode desain sehingga tabel karyawan yang dilindungi dapat dihapus.

    if (!this.FormsDesign)
    {
        this.ToggleFormsDesign();
    }
    this.Tables[2].Delete();
    this.Tables[1].Delete();
    this.ToggleFormsDesign();
    

Membuat kontrol konten yang menampilkan blok penyusun

Buat kontrol konten yang menyediakan akses ke blok penyusun (yaitu, tabel) yang Anda buat sebelumnya. Pengguna dapat mengklik kontrol ini untuk menambahkan tabel ke dokumen.

Untuk membuat kontrol konten yang menampilkan blok penyusun

  1. Tambahkan kode berikut ke ThisDocument_Startup metode ThisDocument kelas , setelah kode yang Anda tambahkan di langkah sebelumnya. Kode ini menginisialisasi BuildingBlockGalleryContentControl objek yang Anda deklarasikan sebelumnya. BuildingBlockGalleryContentControl menampilkan semua blok penyusun yang ditentukan dalam kategori Informasi Karyawan dan Pelanggan dan yang memiliki jenis Microsoft.Office.Interop.Word.WdBuildingBlockTypes.wdTypeCustom1blok penyusun .

    buildingBlockControl1 = this.Controls.AddBuildingBlockGalleryContentControl(
        this.Paragraphs[1].Range, "buildingBlockControl1");
    buildingBlockControl1.BuildingBlockCategory = "Employee and Customer Information";
    buildingBlockControl1.BuildingBlockType = Word.WdBuildingBlockTypes.wdTypeCustom1;
    buildingBlockControl1.PlaceholderText = "Choose your first building block";
    
    buildingBlockControl2 = this.Controls.AddBuildingBlockGalleryContentControl(
        this.Paragraphs[2].Range, "buildingBlockControl2");
    buildingBlockControl2.BuildingBlockCategory = "Employee and Customer Information";
    buildingBlockControl2.BuildingBlockType = Word.WdBuildingBlockTypes.wdTypeCustom1;
    buildingBlockControl2.PlaceholderText = "Choose your second building block";
    

Menguji proyek

Pengguna dapat mengklik kontrol galeri blok penyusun dalam dokumen untuk menyisipkan tabel karyawan atau tabel umpan balik pelanggan. Pengguna dapat mengetik atau memilih respons dalam kontrol konten di kedua tabel. Pengguna dapat memodifikasi bagian lain dari tabel umpan balik pelanggan, tetapi mereka seharusnya tidak dapat memodifikasi bagian lain dari tabel karyawan.

Untuk menguji tabel karyawan

  1. Tekan F5 untuk menjalankan proyek.

  2. Klik Pilih blok penyusun pertama Anda untuk menampilkan kontrol konten galeri blok penyusun pertama.

  3. Klik panah turun bawah di samping judul Galeri Kustom 1 di kontrol, dan pilih Tabel Karyawan.

  4. Klik di sel di sebelah kanan sel Nama Karyawan dan ketikkan nama.

    Verifikasi bahwa Anda hanya bisa menambahkan teks ke sel ini. memungkinkan PlainTextContentControl pengguna untuk menambahkan hanya teks, bukan jenis konten lain seperti seni atau tabel.

  5. Klik sel di sebelah kanan sel Tanggal Sewa dan pilih tanggal di pemilih tanggal.

  6. Klik di sel di sebelah kanan sel Judul dan pilih salah satu judul pekerjaan dalam kotak kombo.

    Secara opsional, ketik nama jabatan yang tidak ada dalam daftar. Ini dimungkinkan ComboBoxContentControl karena memungkinkan pengguna untuk memilih dari daftar entri atau mengetik entri mereka sendiri.

  7. Klik ikon di sel di sebelah kanan sel Gambar dan telusuri ke gambar untuk menampilkannya.

  8. Cobalah untuk menambahkan baris atau kolom ke tabel, dan coba hapus baris dan kolom dari tabel. Verifikasi bahwa Anda tidak dapat mengubah tabel. Mencegah GroupContentControl Anda melakukan modifikasi apa pun.

Untuk menguji tabel umpan balik pelanggan

  1. Klik Pilih blok penyusun kedua Anda untuk menampilkan kontrol konten galeri blok penyusun kedua.

  2. Klik panah turun bawah di samping judul Galeri Kustom 1 di kontrol, dan pilih Tabel Pelanggan.

  3. Klik di sel di sebelah kanan sel Nama Pelanggan dan ketikkan nama.

  4. Klik di sel di sebelah kanan sel Peringkat Kepuasan dan pilih salah satu opsi yang tersedia.

    Verifikasi bahwa Anda tidak dapat mengetik entri Anda sendiri. memungkinkan DropDownListContentControl pengguna hanya untuk memilih dari daftar entri.

  5. Klik di sel di sebelah kanan sel Komentar dan ketik beberapa komentar.

    Secara opsional, tambahkan beberapa konten selain teks, seperti seni atau tabel yang disematkan. Ini dimungkinkan RichTextContentControl karena memungkinkan pengguna untuk menambahkan konten selain teks.

  6. Verifikasi bahwa Anda bisa menambahkan baris atau kolom ke tabel, dan anda bisa menghapus baris dan kolom dari tabel. Ini dimungkinkan karena Anda belum melindungi tabel dengan memasukkannya ke dalam GroupContentControl.

  7. Tutup templat.

Langkah berikutnya

Anda dapat mempelajari selengkapnya tentang cara menggunakan kontrol konten dari topik ini: