gpt4 book ai didi

ms-word - 如何在 Word 2010 文档中使用 OpenXML SDK 解锁内容控件?

转载 作者:行者123 更新时间:2023-12-02 15:41:12 24 4
gpt4 key购买 nike

我正在服务器端操作 Word 2010 文档,文档中的某些内容控件已选中以下锁定属性

  • 内容控件无法删除
  • 内容无法编辑

任何人都可以建议使用 OpenXML SDK 将这些锁定选项设置为 false 或完全删除吗?

最佳答案

openxml SDK 提供了 Lock 类和 LockingValues 枚举以编程方式设置选项:

  • 内容控件无法删除,并且
  • 内容无法编辑

因此,要将这两个选项设置为“false”(LockingValues.Unlocked),搜索文档中的所有 SdtElement 元素并将 Val 属性设置为LockingValues.Unlocked

下面的代码显示了一个示例:

static void UnlockAllSdtContentElements()
{
using (WordprocessingDocument wordDoc =
WordprocessingDocument.Open(@"c:\temp\myword.docx", true))
{
IEnumerable<SdtElement> elements =
wordDoc.MainDocumentPart.Document.Descendants<SdtElement>();

foreach (SdtElement elem in elements)
{
if (elem.SdtProperties != null)
{
Lock l = elem.SdtProperties.ChildElements.First<Lock>();

if (l == null)
{
continue;
}

if (l.Val == LockingValues.SdtContentLocked)
{
Console.Out.WriteLine("Unlock content element...");
l.Val = LockingValues.Unlocked;
}
}
}
}
}

static void Main(string[] args)
{
UnlockAllSdtContentElements();
}

关于ms-word - 如何在 Word 2010 文档中使用 OpenXML SDK 解锁内容控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10728442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com