繁体   English   中英

如何使用 Open XML 操作 docx 上的 OptionButton / Radio 按钮? (C#)

[英]How to manipulate OptionButton / Radio button on docx with Open XML? (C#)

我有一个需要用 C# 填充的 .docx 模板。 这个模板有一些带有单选按钮组的部分,就像这样:

在此处输入图像描述

我正在使用打开的 XML,我检查了 xml,我想我找到了单选按钮:

          <w:p w14:paraId="6E7C5D2C" w14:textId="2740F2E7" w:rsidR="0085589C" w:rsidRPr="00055073" w:rsidRDefault="0085589C" w:rsidP="00465D62">
              <w:r>
                 <w:object w:dxaOrig="225" w:dyaOrig="225" w14:anchorId="28DEEE36">
                    <v:shape id="_x0000_i1053" type="#_x0000_t75" style="width:78pt;height:17.25pt" o:ole="">
                       <v:imagedata r:id="rId15" o:title="" />
                    </v:shape>
                    <w:control r:id="rId16" w:name="OptionButton3" w:shapeid="_x0000_i1053" />
                 </w:object>
              </w:r>
           </w:p>

我不知道如何用 C# 操作这些元素。 我试图遍历 doc 元素并找到一个名为 OptionButton 类型为 Control 的元素,但我还没有找到允许我操纵其值的属性或方法:

在此处输入图像描述

有人可以帮我解决这个问题吗?

谢谢你。

问题中显示的选项按钮是ActiveX控件,最初设计用于 VBA 用户窗体。 然后对 Office 文档表面进行了调整,以允许它们在文档中使用,同时保留其编程接口。

ActiveX 控件不是由 Office Open XML 定义的。 与 VBA 的所有内容一样,它们仍采用专有的二进制格式(Office 2007 之前)。

以下是选项按钮的 Word Open XML 的摘录:

<pkg:part pkg:name="/word/activeX/activeX1.bin" pkg:contentType="application/vnd.ms-office.activeX">
<pkg:binaryData>0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAA
EAAAAgAAAAEAAAD+////AAAAAAAAAAD/////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////

为了“阅读”此类内容,有必要访问并理解 Word 和 Office 二进制文件格式。

参考,例如: https://docs.microsoft.com/en-us/openspecs/office_file_formats/ms-doc/ccd7b486-7881-484c-a137-51170af7cc22

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM