Aracılığıyla paylaş


Nasıl Yapılır: İçerik Denetimlerini Kullanarak Belge Bölümlerini Koruma

Belgenin bir bölümünü koruduğunuzda kullanıcıların belgenin o korunmuş bölümündeki içeriği degiştirmelerini veya silmelerini engellemiş olursunuz. İçerik kontrollerini kullanarak Microsoft Office Word belgesinin bölümlerini koruyabileyeceğiniz birkaç yol vardır:

  • Bir içerik denetimini koruyabilirsiniz.

  • Belgenin bir içerik denetiminde olmayan bir bölümünü koruyabilirsiniz.

Uygulama alanı: Bu konudaki bilgiler Word 2007 ve Word 2010 uygulamalarının belge düzeyi projelerine ve uygulama düzeyi projelerine yöneliktir. Daha fazla bilgi için bkz. Office Uygulamalarında Kullanılabilir Özellikler ve Proje Türü.

İçerik Denetimini Koruma

Bir belge düzeyi projesinde, tasarım zamanında veya çalışma zamanında, kullanıcının bir içerik denetimini düzenlemesini veya silmesini denetimin özelliklerini ayarlayarak engelleyebilirsiniz.

Bir uygulama düzeyi proje kullanarak belgeye çalışma zamanında eklediğiniz içerik denetimlerini de koruyabilirsiniz. Daha fazla bilgi için bkz. Nasıl Yapılır: Word Belgelerine İçerik Denetimi Ekleme.

Tasarım anında içerik denetimini korumak için

  1. Visual Studio tasarımcısında bulunan belgede, korumak istediğiniz içerik denetimini seçin.

  2. Özellikler penceresinde aşağıdaki özelliklerin birini ya da her ikisini de ayarlayın:

    • Kullanıcıların denetimi düzenlemesini önlemek üzere, LockContents'e True değerini verin.

    • Kullanıcıların denetimi silmesini önlemek üzere, LockContentsControl'a True değerini verin.

  3. Tamam düğmesini tıklatın.

Çalışma anında içerik denetimini korumak için

  • Kullanıcıların denetimi düzenlemesini önlemek için içerik denetiminin LockContents özelliğine true değerini, kullanıcıların denetimi silmesini önlemek için LockContentControl özelliğine true değerini verin.

    Aşağıdaki kod örneğinde, bir belge düzeyi projesinde iki farklı RichTextContentControl nesnesinin LockContents ve LockContentControl özelliklerinin kullanımı gösterilir. Bu kodu çalıştırmak için, kodu projenizdeki ThisDocument sınıfına ekleyin ve ThisDocument_Startup olay işleyicisinden AddProtectedContentControls yöntemini çağırın.

    Dim deletableControl As Microsoft.Office.Tools.Word.RichTextContentControl
    Dim editableControl As Microsoft.Office.Tools.Word.RichTextContentControl
    
    Private Sub AddProtectedContentControls()
        Me.Paragraphs(1).Range.InsertParagraphBefore()
        Dim range1 As Word.Range = Me.Paragraphs(1).Range
    
        deletableControl = Me.Controls.AddRichTextContentControl(range1, _
            "deletableControl")
        deletableControl.PlaceholderText = "You can delete this control, " & _
            "but you cannot edit it"
        deletableControl.LockContents = True
    
        range1.InsertParagraphAfter()
        Dim range2 As Word.Range = Me.Paragraphs(2).Range
    
        editableControl = Me.Controls.AddRichTextContentControl(range2, _
            "editableControl")
        editableControl.PlaceholderText = "You can edit this control, " & _
            "but you cannot delete it"
        editableControl.LockContentControl = True
    End Sub
    
    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;
    }
    

    Aşağıdaki kod örneğinde, bir uygulama düzeyi projesinde iki farklı RichTextContentControl nesnesinin LockContents ve LockContentControl özelliklerinin kullanımı gösterilir. Bu kodu çalıştırmak için, kodu projenizdeki ThisAddIn sınıfına ekleyin ve ThisAddIn_Startup olay işleyicisinden AddProtectedContentControls yöntemini çağırın.

    Dim deletableControl As Microsoft.Office.Tools.Word.RichTextContentControl
    Dim editableControl As Microsoft.Office.Tools.Word.RichTextContentControl
    
    Private Sub AddProtectedContentControls()
        ' Use the following line of code in projects that target the .NET Framework 4.
        Dim VstoDocument As Microsoft.Office.Tools.Word.Document = _
            Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
    
        ' In projects that target the .NET Framework 3.5, use the following line of code.
        ' Dim vstoDocument As Microsoft.Office.Tools.Word.Document = _
        '     Me.Application.ActiveDocument.GetVstoObject()
    
        vstoDocument.Paragraphs(1).Range.InsertParagraphBefore()
        Dim range1 As Word.Range = 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()
        Dim range2 As Word.Range = 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
    End Sub
    
    private Microsoft.Office.Tools.Word.RichTextContentControl deletableControl;
    private Microsoft.Office.Tools.Word.RichTextContentControl editableControl;
    
    private void AddProtectedContentControls()
    {
        // Use the following line of code in projects that target the .NET Framework 4.
        Microsoft.Office.Tools.Word.Document vstoDocument = 
            Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    
        // In projects that target the .NET Framework 3.5, use the following line of code.
        // Microsoft.Office.Tools.Word.Document vstoDocument = 
            //this.Application.ActiveDocument.GetVstoObject();
    
        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;
    }
    

Bir İçerik Denetiminde Olmayan Belge Bölümünü Koruma

Kullanıcıların belgede bir alanı değiştirmesini alanı GroupContentControl içine koyarak önleyebilirsiniz. Bu durum aşağıdaki senaryolarda yararlıdır:

  • İçerik denetimi içermeyen bir alanı korumak istiyorsunuz.

  • İçerik denetimleri içeren, fakat korumak istediğiniz metin veya diğer öğeler içerik denetimlerinde olmayan, bir alanı korumak istiyorsunuz.

Not

Eğer gömülü içerik denetimi içeren bir GroupContentControl oluşturursanız, gömülü içerik denetimleri otomatik olarak korunmaz. Kullanıcıların gömülü bir içerik denetimini düzenlemesini önlemek için denetimin LockContents özelliğini kullanın.

Tasarım zamanında belgenin bir alanını korumak için

  1. Visual Studio tasarımcısında bulunan belgede, korumak istediğiniz alanı seçin.

  2. Şerit'te Geliştirici sekmesini tıklayın.

    Not

    Geliştirici sekmesi görünür değilse önce onu görünür yapın. Daha fazla bilgi için bkz. Nasıl Yapılır: Şerit Üzerinde Geliştirici Sekmesi Gösterme.

  3. Denetimler grubunda Grup açılır düğmesini ve ardından Grup'u tıklatın.

    Korumalı bölgeyi içeren bir GroupContentControl otomatik olarak projenizin ThisDocument sınıfında oluşturulur. Tasarım zamanında grup denetimini temsil eden bir kenarlık bulunur, fakat çalışma zamanında görünür bir kenarlık yoktur.

Çalışma zamanında belgenin bir alanını korumak için

  • Korumak istediğiniz alanı program aracılığıyla seçin ve ardından GroupContentControl oluşturmak için AddGroupContentControl yöntemini çağırın.

    Belge düzeyi projeleri için olan aşağıdaki kod örneğinde, belgede ilk paragrafa metin eklenir, ilk paragraf seçilir ve ardından bir GroupContentControl başlatılır. Bu kodu çalıştırmak için, kodu projenizdeki ThisDocument sınıfına ekleyin ve ThisDocument_Startup olay işleyicisinden ProtectFirstParagraph yöntemini çağırın.

    Dim groupControl1 As Microsoft.Office.Tools.Word.GroupContentControl
    
    Private Sub ProtectFirstParagraph()
        Me.Paragraphs(1).Range.InsertParagraphBefore()
        Dim range1 As Word.Range = Me.Paragraphs(1).Range
        range1.Text = "You cannot edit or change the formatting of text " & _
                "in this paragraph, because this paragraph is in a GroupContentControl."
        range1.Select()
    
        groupControl1 = Me.Controls.AddGroupContentControl("groupControl1")
    End Sub
    
    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");
    }
    

    Uygulama düzeyi projeleri için olan aşağıdaki kod örneğinde, etkin belgede ilk paragrafa metin eklenir, ilk paragraf seçilir ve ardından bir GroupContentControl başlatılır. Bu kodu çalıştırmak için, kodu projenizdeki ThisAddIn sınıfına ekleyin ve ThisAddIn_Startup olay işleyicisinden ProtectFirstParagraph yöntemini çağırın.

    Dim groupControl1 As Microsoft.Office.Tools.Word.GroupContentControl
    
    Private Sub ProtectFirstParagraph()
        ' Use the following line of code in projects that target the .NET Framework 4.
        Dim VstoDocument As Microsoft.Office.Tools.Word.Document = _
            Globals.Factory.GetVstoObject(Me.Application.ActiveDocument)
    
        ' In projects that target the .NET Framework 3.5, use the following line of code.
        ' Dim vstoDocument As Microsoft.Office.Tools.Word.Document = _
        '     Me.Application.ActiveDocument.GetVstoObject()
    
        VstoDocument.Paragraphs(1).Range.InsertParagraphBefore()
    
        Dim range1 As Word.Range = VstoDocument.Paragraphs(1).Range
        range1.Text = "You cannot edit or change the formatting of text " & _
                "in this paragraph, because this paragraph is in a GroupContentControl."
        range1.Select()
    
        groupControl1 = VstoDocument.Controls.AddGroupContentControl("groupControl1")
    End Sub
    
    private Microsoft.Office.Tools.Word.GroupContentControl groupControl1;
    
    private void ProtectFirstParagraph()
    {
        // Use the following line of code in projects that target the .NET Framework 4.
        Microsoft.Office.Tools.Word.Document vstoDocument =
            Globals.Factory.GetVstoObject(this.Application.ActiveDocument);
    
        // In projects that target the .NET Framework 3.5, use the following line of code.
        // Microsoft.Office.Tools.Word.Document vstoDocument = 
        //     this.Application.ActiveDocument.GetVstoObject();
    
        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");
    }
    

Ayrıca bkz.

Görevler

Nasıl Yapılır: Word Belgelerine İçerik Denetimi Ekleme

Kavramlar

Genişletilmiş Nesneleri Kullanarak Word'ü Otomatikleştirme

İçerik Denetimleri

Konak Öğeleri ve Konak Kontrollerine Genel Bakış

Ana Bilgisayar Öğelerinin ve Ana Bilgisayar Denetimlerinin Programsal Sınırlamaları

Belgeye Çalışma Zamanında Denetim Ekleme

Ana Bilgisayar Denetimleri İçin Yardımcı Yöntemler