Ochrona części dokumentów przy użyciu kontrolek zawartości
W przypadku ochrony części dokumentu uniemożliwisz użytkownikom zmianę lub usunięcie zawartości w tej części dokumentu. Istnieje kilka sposobów ochrony części dokumentu programu Microsoft Office Word przy użyciu kontrolek zawartości:
Możesz chronić kontrolkę zawartości.
Możesz chronić część dokumentu, która nie znajduje się w kontrolce zawartości.
Dotyczy: informacje w tym temacie dotyczą projektów na poziomie dokumentu i projektów dodatków VSTO dla programu Word. Aby uzyskać więcej informacji, zobacz Funkcje dostępne przez aplikacja pakietu Office lication i typ projektu.
Ochrona kontrolki zawartości
Możesz uniemożliwić użytkownikom edytowanie lub usuwanie kontrolki zawartości, ustawiając właściwości kontrolki w projekcie na poziomie dokumentu w czasie projektowania lub w czasie wykonywania.
Możesz również chronić kontrolki zawartości dodawane do dokumentu w czasie wykonywania przy użyciu projektu dodatku VSTO. Aby uzyskać więcej informacji, zobacz How to: Add content controls to Word documents (Instrukcje: dodawanie kontrolek zawartości do dokumentów programu Word).
Aby chronić kontrolkę zawartości w czasie projektowania
W dokumencie hostowanym w projektancie programu Visual Studio wybierz kontrolkę zawartości, którą chcesz chronić.
W oknie Właściwości ustaw jedną lub obie następujące właściwości:
Aby uniemożliwić użytkownikom edytowanie kontrolki, ustaw wartość LockContents na true.
Aby uniemożliwić użytkownikom usuwanie kontrolki, ustaw wartość LockContentControl na wartość True.
Kliknij przycisk OK.
Aby chronić kontrolkę zawartości w czasie wykonywania
LockContents
Ustaw właściwość kontrolki zawartości na wartość true, aby uniemożliwić użytkownikom edytowanie kontrolki, a właściwość maLockContentControl
wartość true, aby uniemożliwić użytkownikom usunięcie kontrolki.Poniższy przykład kodu przedstawia użycie LockContents właściwości i LockContentControl dwóch różnych RichTextContentControl obiektów w projekcie na poziomie dokumentu. Aby uruchomić ten kod, dodaj kod do
ThisDocument
klasy w projekcie i wywołaj metodęAddProtectedContentControls
zThisDocument_Startup
procedury obsługi zdarzeń.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; }
W poniższym przykładzie kodu pokazano użycie LockContents właściwości i LockContentControl dwóch różnych RichTextContentControl obiektów w projekcie dodatku VSTO. Aby uruchomić ten kod, dodaj kod do
ThisAddIn
klasy w projekcie i wywołaj metodęAddProtectedContentControls
zThisAddIn_Startup
procedury obsługi zdarzeń.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; }
Ochrona części dokumentu, która nie znajduje się w kontrolce zawartości
Możesz uniemożliwić użytkownikom zmianę obszaru dokumentu, umieszczając obszar w GroupContentControlobiekcie . Jest to przydatne w następujących scenariuszach:
Chcesz chronić obszar, który nie zawiera kontrolek zawartości.
Chcesz chronić obszar, który zawiera już kontrolki zawartości, ale tekst lub inne elementy, które chcesz chronić, nie znajdują się w kontrolkach zawartości.
Uwaga
Jeśli tworzysz kontrolki zawartości osadzonej GroupContentControl , osadzone kontrolki zawartości nie są automatycznie chronione. Aby uniemożliwić użytkownikom edytowanie osadzonej kontrolki zawartości, użyj właściwości LockContents kontrolki.
Aby chronić obszar dokumentu w czasie projektowania
W dokumencie hostowanym w projektancie programu Visual Studio wybierz obszar, który chcesz chronić.
Na wstążce kliknij kartę Deweloper .
Uwaga
Jeśli karta Deweloper nie jest widoczna, musisz go najpierw wyświetlić. Aby uzyskać więcej informacji, zobacz Instrukcje: pokazywanie karty dewelopera na wstążce.
W grupie Kontrolki kliknij przycisk listy rozwijanej Grupa, a następnie kliknij pozycję Grupa.
Element GroupContentControl zawierający chroniony region jest generowany automatycznie w
ThisDocument
klasie w projekcie. Obramowanie reprezentujące kontrolkę grupy jest widoczne w czasie projektowania, ale w czasie wykonywania nie ma widocznego obramowania.
Aby chronić obszar dokumentu w czasie wykonywania
Programowo wybierz obszar, który chcesz chronić, a następnie wywołaj AddGroupContentControl metodę GroupContentControl, aby utworzyć obiekt .
Poniższy przykładowy kod projektu na poziomie dokumentu dodaje tekst do pierwszego akapitu w dokumencie, wybiera pierwszy akapit, a następnie tworzy wystąpienie elementu GroupContentControl. Aby uruchomić ten kod, dodaj kod do
ThisDocument
klasy w projekcie i wywołaj metodęProtectFirstParagraph
zThisDocument_Startup
procedury obsługi zdarzeń.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"); }
Poniższy przykładowy kod projektu dodatku VSTO dodaje tekst do pierwszego akapitu w aktywnym dokumencie, wybiera pierwszy akapit, a następnie tworzy wystąpienie elementu GroupContentControl. Aby uruchomić ten kod, dodaj kod do
ThisAddIn
klasy w projekcie i wywołaj metodęProtectFirstParagraph
zThisAddIn_Startup
procedury obsługi zdarzeń.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"); }
Powiązana zawartość
- Automatyzowanie programu Word przy użyciu obiektów rozszerzonych
- Kontrolki zawartości
- Instrukcje: dodawanie kontrolek zawartości do dokumentów programu Word
- Omówienie elementów hosta i kontrolek hosta
- Ograniczenia programowe elementów hosta i kontrolek hosta
- Dodawanie kontrolek do dokumentów pakietu Office w czasie wykonywania