İçerik denetimlerini kullanarak belgelerin bölümlerini koruma

Belgenin bir bölümünü koruduğunuzda, kullanıcıların belgenin bu bölümündeki içeriği değiştirmesini veya silmesini engellersiniz. İçerik denetimlerini kullanarak Microsoft Office Word belgesinin bölümlerini korumanın çeşitli yolları vardır:

  • İçerik denetimini koruyabilirsiniz.

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

    Şunlar için geçerlidir: Bu konudaki bilgiler, Word için belge düzeyi projeler ve VSTO Eklenti projeleri için geçerlidir. Daha fazla bilgi için bkz. Office uygulaması ve proje türüne göre kullanılabilen özellikler.

İçerik denetimini koruma

Tasarım zamanında veya çalışma zamanında belge düzeyindeki bir projede denetimin özelliklerini ayarlayarak kullanıcıların içerik denetimini düzenlemesini veya silmesini engelleyebilirsiniz.

VsTO Eklenti projesi kullanarak çalışma zamanında belgeye eklediğiniz içerik denetimlerini de koruyabilirsiniz. Daha fazla bilgi için bkz . Nasıl yapılır: Word belgelerine içerik denetimleri ekleme.

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

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

  2. Özellikler penceresinde, aşağıdaki özelliklerden birini veya ikisini birden ayarlayın:

    • Kullanıcıların denetimi düzenlemesini önlemek için LockContents değerini True olarak ayarlayın.

    • Kullanıcıların denetimi silmesini önlemek için LockContentControl değerini True olarak ayarlayın.

  3. Tamam'a tıklayın.

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

  1. LockContents Kullanıcıların denetimi düzenlemesini önlemek için içerik denetiminin özelliğini true olarak ayarlayın ve kullanıcıların denetimi silmesini önlemek için özelliğini true olarak ayarlayınLockContentControl.

    Aşağıdaki kod örneği, belge düzeyi projesinde LockContents iki farklı RichTextContentControl nesnenin ve LockContentControl özelliklerini kullanmayı gösterir. Bu kodu çalıştırmak için, kodu projenizdeki sınıfına ThisDocument ekleyin ve olay işleyicisinden yöntemini çağırın AddProtectedContentControlsThisDocument_Startup .

    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ği, bir VSTO Eklenti projesinde iki farklı RichTextContentControl nesnenin ve LockContentControl özelliklerini kullanmayı LockContents gösterir. Bu kodu çalıştırmak için, kodu projenizdeki sınıfına ThisAddIn ekleyin ve olay işleyicisinden yöntemini çağırın AddProtectedContentControlsThisAddIn_Startup .

    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;
    }
    

Belgenin içerik denetiminde olmayan bir bölümünü koruma

Alanı içine koyarak kullanıcıların belgenin bir alanını değiştirmesini GroupContentControlengelleyebilirsiniz. Bu, aşağıdaki senaryolarda kullanışlıdır:

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

  • zaten içerik denetimleri içeren bir alanı korumak istiyorsunuz, ancak korumak istediğiniz metin veya diğer öğeler içerik denetimlerinde değil.

Not

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

Belgenin bir alanını tasarım zamanında korumak için

  1. Visual Studio tasarımcısında barındırılan belgede, korumak istediğiniz alanı seçin.

  2. Şeritte Geliştirici sekmesine tıklayın.

    Not

    Geliştirici sekmesi görünmüyorsa, önce bunu göstermeniz gerekir. Daha fazla bilgi için bkz . Nasıl yapılır: Şeritte geliştirici sekmesini gösterme.

  3. Denetimler grubunda, Grup açılan düğmesine ve ardından Gruplandır'a tıklayın.

    GroupContentControl Korumalı bölgeyi içeren bir, projenizdeki sınıfta otomatik olarak oluşturulurThisDocument. Grup denetimini temsil eden bir kenarlık tasarım zamanında görünür, ancak çalışma zamanında görünür kenarlık yoktur.

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

  1. Program aracılığıyla korumak istediğiniz alanı seçin ve sonra oluşturmak için GroupContentControlyöntemini çağırınAddGroupContentControl.

    Belge düzeyi projesi için aşağıdaki kod örneği, belgedeki ilk paragrafa metin ekler, ilk paragrafı seçer ve ardından bir GroupContentControlörneği oluşturur. Bu kodu çalıştırmak için, kodu projenizdeki sınıfına ThisDocument ekleyin ve olay işleyicisinden yöntemini çağırın ProtectFirstParagraphThisDocument_Startup .

    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");
    }
    

    Bir VSTO Eklenti projesi için aşağıdaki kod örneği, etkin belgedeki ilk paragrafa metin ekler, ilk paragrafı seçer ve ardından bir GroupContentControlörneği oluşturur. Bu kodu çalıştırmak için, kodu projenizdeki sınıfına ThisAddIn ekleyin ve olay işleyicisinden yöntemini çağırın ProtectFirstParagraphThisAddIn_Startup .

           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");
           }