İç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
Visual Studio tasarımcısında barındırılan belgede, korumak istediğiniz içerik denetimini seçin.
Ö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.
Tamam'a tıklayın.
Çalışma zamanında içerik denetimini korumak için
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ınAddProtectedContentControls
ThisDocument_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ınAddProtectedContentControls
ThisAddIn_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
Visual Studio tasarımcısında barındırılan belgede, korumak istediğiniz alanı seçin.
Ş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.
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şturulur
ThisDocument
. 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
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ınProtectFirstParagraph
ThisDocument_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ınProtectFirstParagraph
ThisAddIn_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"); }
İlgili içerik
- Genişletilmiş nesneler kullanarak Word'i otomatikleştirme
- İçerik denetimleri
- Nasıl yapılır: Word belgelerine içerik denetimleri ekleme
- Konak öğelerine ve konak denetimlerine genel bakış
- Konak öğelerinin ve konak denetimlerinin programlı sınırlamaları
- Çalışma zamanında Office belgelerine denetim ekleme