Bagikan melalui


Lindungi bagian dokumen dengan menggunakan kontrol konten

Saat Anda melindungi bagian dari dokumen, Anda mencegah pengguna mengubah atau menghapus konten di bagian dokumen tersebut. Ada beberapa cara untuk melindungi bagian dokumen Microsoft Office Word dengan menggunakan kontrol konten:

  • Anda dapat melindungi kontrol konten.

  • Anda bisa memproteksi bagian dari dokumen yang tidak berada dalam kontrol konten.

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

Melindungi kontrol konten

Anda dapat mencegah pengguna mengedit atau menghapus kontrol konten dengan mengatur properti kontrol dalam proyek tingkat dokumen pada waktu desain atau pada waktu proses.

Anda juga dapat melindungi kontrol konten yang Anda tambahkan ke dokumen pada waktu proses dengan menggunakan proyek Add-in VSTO. Untuk informasi selengkapnya, lihat Cara: Menambahkan kontrol konten ke dokumen Word.

Untuk melindungi kontrol konten pada waktu desain

  1. Dalam dokumen yang dihosting di perancang Visual Studio, pilih kontrol konten yang ingin Anda lindungi.

  2. Di jendela Properti , atur salah satu atau kedua properti berikut ini:

    • Untuk mencegah pengguna mengedit kontrol, atur LockContents ke True.

    • Untuk mencegah pengguna menghapus kontrol, atur LockContentControl ke True.

  3. Klik OK.

Untuk melindungi kontrol konten pada waktu proses

  1. LockContents Atur properti kontrol konten ke true untuk mencegah pengguna mengedit kontrol, dan atur LockContentControl properti ke true untuk mencegah pengguna menghapus kontrol.

    Contoh kode berikut menunjukkan penggunaan LockContents properti dan LockContentControl dari dua objek berbeda RichTextContentControl dalam proyek tingkat dokumen. Untuk menjalankan kode ini, tambahkan kode ke ThisDocument kelas di proyek Anda, dan panggil AddProtectedContentControls metode dari penanganan ThisDocument_Startup aktivitas.

    private Microsoft.Office.Tools.Word.RichTextContentControl deletableControl;
    private Microsoft.Office.Tools.Word.RichTextContentControl editableControl;
    
    private void AddProtectedContentControls()
    {
        this.Paragraphs[1].Range.InsertParagraphBefore();
        Word.Range range1 = this.Paragraphs[1].Range;
    
        deletableControl = this.Controls.AddRichTextContentControl(range1,
            "deletableControl");
        deletableControl.PlaceholderText = "You can delete this control, " +
            "but you cannot edit it";
        deletableControl.LockContents = true;
    
        range1.InsertParagraphAfter();
        Word.Range range2 = this.Paragraphs[2].Range;
    
        editableControl = this.Controls.AddRichTextContentControl(range2,
            "editableControl");
        editableControl.PlaceholderText = "You can edit this control, " +
            "but you cannot delete it";
        editableControl.LockContentControl = true;
    }
    

    Contoh kode berikut menunjukkan penggunaan LockContents properti dan LockContentControl dari dua objek berbeda RichTextContentControl dalam proyek Add-in VSTO. Untuk menjalankan kode ini, tambahkan kode ke ThisAddIn kelas di proyek Anda, dan panggil AddProtectedContentControls metode dari penanganan ThisAddIn_Startup aktivitas.

    private Microsoft.Office.Tools.Word.RichTextContentControl deletableControl;
    private Microsoft.Office.Tools.Word.RichTextContentControl editableControl;
    
    private void AddProtectedContentControls()
    {
        Microsoft.Office.Tools.Word.Document vstoDocument = 
            Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    
    
        vstoDocument.Paragraphs[1].Range.InsertParagraphBefore();
        Word.Range range1 = vstoDocument.Paragraphs[1].Range;
    
        deletableControl = vstoDocument.Controls.AddRichTextContentControl(range1,
            "deletableControl");
        deletableControl.PlaceholderText = "You can delete this control, " +
            "but you cannot edit it";
        deletableControl.LockContents = true;
    
        range1.InsertParagraphAfter();
        Word.Range range2 = vstoDocument.Paragraphs[2].Range;
    
        editableControl = vstoDocument.Controls.AddRichTextContentControl(range2,
            "editableControl");
        editableControl.PlaceholderText = "You can edit this control, " +
            "but you cannot delete it.";
        editableControl.LockContentControl = true;
    }
    

Lindungi bagian dari dokumen yang tidak berada dalam kontrol konten

Anda dapat mencegah pengguna mengubah area dokumen dengan menempatkan area di GroupContentControl. Ini berguna dalam skenario berikut:

  • Anda ingin melindungi area yang tidak berisi kontrol konten.

  • Anda ingin melindungi area yang sudah berisi kontrol konten, tetapi teks atau item lain yang ingin Anda lindungi tidak ada dalam kontrol konten.

Catatan

Jika Anda membuat GroupContentControl yang berisi kontrol konten yang disematkan, kontrol konten yang disematkan tidak dilindungi secara otomatis. Untuk mencegah pengguna mengedit kontrol konten yang disematkan, gunakan properti LockContents kontrol.

Untuk melindungi area dokumen pada waktu desain

  1. Dalam dokumen yang dihosting di perancang Visual Studio, pilih area yang ingin Anda lindungi.

  2. 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.

  3. Di grup Kontrol, klik tombol drop-down Grup, lalu klik Grup.

    GroupContentControl Yang berisi wilayah yang dilindungi secara otomatis dihasilkan di ThisDocument kelas di proyek Anda. Batas yang mewakili kontrol grup terlihat pada waktu desain, tetapi tidak ada batas yang terlihat pada waktu proses.

Untuk melindungi area dokumen pada waktu proses

  1. Pilih area yang ingin Anda lindungi secara terprogram, lalu panggil AddGroupContentControl metode untuk membuat GroupContentControl.

    Contoh kode berikut untuk proyek tingkat dokumen menambahkan teks ke paragraf pertama dalam dokumen, memilih paragraf pertama, lalu membuat instans GroupContentControl. Untuk menjalankan kode ini, tambahkan kode ke ThisDocument kelas di proyek Anda, dan panggil ProtectFirstParagraph metode dari penanganan ThisDocument_Startup aktivitas.

    private Microsoft.Office.Tools.Word.GroupContentControl groupControl1;
    
    private void ProtectFirstParagraph()
    {
        this.Paragraphs[1].Range.InsertParagraphBefore();
        Word.Range range1 = this.Paragraphs[1].Range;
    
        range1.Text = "You cannot edit or change the formatting of text " +
            "in this sentence, because this sentence is in a GroupContentControl.";
        range1.Select();
        groupControl1 = this.Controls.AddGroupContentControl("groupControl1");
    }
    

    Contoh kode berikut untuk proyek Add-in VSTO menambahkan teks ke paragraf pertama dalam dokumen aktif, memilih paragraf pertama, lalu membuat instans GroupContentControl. Untuk menjalankan kode ini, tambahkan kode ke ThisAddIn kelas di proyek Anda, dan panggil ProtectFirstParagraph metode dari penanganan ThisAddIn_Startup aktivitas.

           private Microsoft.Office.Tools.Word.GroupContentControl groupControl1;
    
           private void ProtectFirstParagraph()
           {
               Microsoft.Office.Tools.Word.Document vstoDocument =
                   Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    
    
               vstoDocument.Paragraphs[1].Range.InsertParagraphBefore();
    
               Word.Range range1 = vstoDocument.Paragraphs[1].Range;
               range1.Text = "You cannot edit or change the formatting of text " +
                   "in this sentence, because this sentence is in a GroupContentControl.";
               range1.Select();
    
               groupControl1 = vstoDocument.Controls.AddGroupContentControl("groupControl1");
           }