从 Word 文件读取 Active XControl 属性

在本分步指南中,我们将向您展示如何使用 Aspose.Words for .NET 读取 Word 文件中 ActiveX 控件的属性。我们将为您提供完整的源代码,并向您展示如何格式化 Markdown 输出。

第1步:文档初始化

第一步是初始化Document通过加载包含 ActiveX 控件的 Word 文档来创建对象。一定要更换MyDir与包含文档的目录的实际路径。

Document doc = new Document(MyDir + "ActiveX controls.docx");

步骤 2:恢复 ActiveX 控件

在这一步中,我们将迭代每个Shape文档的目录以检索 ActiveX 控件并读取其属性。

string properties = "";
foreach(Shape shape in doc.GetChildNodes(NodeType.Shape, true))
{
     if (shape.OleFormat is null) break;

     OleControl oleControl = shape.OleFormat.OleControl;
     if (oleControl.IsForms2OleControl)
     {
         Forms2OleControl checkBox = (Forms2OleControl)oleControl;
         properties = properties + "\nCaption: " + checkBox.Caption;
         properties = properties + "\nValue: " + checkBox.Value;
         properties = properties + "\nEnabled: " + checkBox.Enabled;
         properties = properties + "\nType: " + checkBox.Type;
         if (checkBox. ChildNodes != null)
         {
             properties = properties + "\nChildNodes: " + checkBox.ChildNodes;
         }

         properties += "\n";
     }
}

properties = properties + "\nTotal ActiveX Controls found: " + doc.GetChildNodes(NodeType.Shape, true).Count;
Console.WriteLine("\n" + properties);

使用 Aspose.Words for .NET 读取 Active XControl 属性的示例源代码

以下是使用 Aspose.Words for .NET 读取 ActiveX 控件属性的完整源代码:

	Document doc = new Document(MyDir + "ActiveX controls.docx");

	string properties = "";
	foreach (Shape shape in doc.GetChildNodes(NodeType.Shape, true))
	{
		if (shape.OleFormat is null) break;

		OleControl oleControl = shape.OleFormat.OleControl;
		if (oleControl.IsForms2OleControl)
		{
			Forms2OleControl checkBox = (Forms2OleControl) oleControl;
			properties = properties + "\nCaption: " + checkBox.Caption;
			properties = properties + "\nValue: " + checkBox.Value;
			properties = properties + "\nEnabled: " + checkBox.Enabled;
			properties = properties + "\nType: " + checkBox.Type;
			if (checkBox.ChildNodes != null)
			{
				properties = properties + "\nChildNodes: " + checkBox.ChildNodes;
			}

			properties += "\n";
		}
	}

	properties = properties + "\nTotal ActiveX Controls found: " + doc.GetChildNodes(NodeType.Shape, true).Count;
	Console.WriteLine("\n" + properties);

结论

本指南向您展示了如何使用 Aspose.Words for .NET 读取 Word 文件中 ActiveX 控件的属性。通过执行所描述的步骤,您可以初始化文档、检索 ActiveX 控件并读取其属性。使用提供的示例代码作为起点,并根据您的特定需求进行自定义。

读取 ActiveX 控件的属性使您可以从包含这些控件的 Word 文件中提取重要信息。 Aspose.Words for .NET 为带有 ActiveX 控件的文字处理和自动化文档处理提供了强大的功能。

常见问题解答

问:读取 Word 文件中 ActiveX 控件属性的第一步是什么?

答:第一步是初始化Document通过加载包含 ActiveX 控件的 Word 文档来创建对象。一定要更换MyDir与包含文档的目录的实际路径。

问:如何将 ActiveX 控件添加到文档中?

答:要检索 ActiveX 控件,您需要遍历每个控件Shape文档并检查它是否是 ActiveX 控件。使用OleFormat的财产Shape访问OleControl对象并检索必要的属性。

问:我可以读取 ActiveX 控件的哪些属性?

答:您可以读取 ActiveX 控件的各种属性,例如标题、值、启用或禁用状态、类型以及与控件关联的子节点。

问:如何获取文档中ActiveX控件的总数?

A:要获取文档中ActiveX控件的总数,可以使用GetChildNodes的方法Document对象指定NodeType.Shape类型并包括子节点。