2
我想以編程方式鎖定所有內容控件,以便用戶無法刪除它們。Openxml - 鎖定所有內容控件
我正在使用下面的代碼,但我的問題是,在撥打elem.SdtProperties.ChildElements.First<WP.Lock>()
時,我得到null
。
有人可以幫我完成下面提到的代碼嗎?
static void MakeContentControlsNonDeletable()
{
using (P.WordprocessingDocument wordDoc =
P.WordprocessingDocument.Open(@"c:\XYZ.docx", true))
{
IEnumerable<WP.SdtElement> elements =
wordDoc.MainDocumentPart.Document.Descendants<WP.SdtElement>();
foreach (WP.SdtElement elem in elements)
{
if (elem.SdtProperties != null)
{
WP.Lock l = elem.SdtProperties.ChildElements.First<WP.Lock>();
if (l == null)
{
//Please help here
//Please help here
//Please help here
//Please help here
}
if (l.Val != WP.LockingValues.SdtContentLocked && l.Val != WP.LockingValues.SdtLocked)
{
Console.WriteLine("Unlock content element...");
l.Val = WP.LockingValues.SdtLocked;
}
}
}
}