我正在尝试以编程方式修改 Word 文档中的嵌入式 Excel 表格。为此,我修改了 docx 文件和嵌入的 excel 文件。
主要文件的重要部分如下:
<w:object w:dxaOrig="8406" w:dyaOrig="2056">
<v:shape id="_x0000_i1028" type="#_x0000_t75"
style="width:390.75pt;height:95.25pt" o:ole=""><v:imagedata r:id="rId14"
o:title=""/>
</v:shape>
<o:OLEObject Type="Embed" ProgID="Excel.Sheet.12" ShapeID="_x0000_i1028"
DrawAspect="Content" ObjectID="_1349794876" r:id="rId15"
UpdateMode="Always"/>
</w:object>
Word 文档使用 OLEObject 链接到嵌入的 excel 文档。出于显示目的,使用 .wmf 文件(使用v:shape
元素)。我修改了 excel 文档,该文档已经过时了这个预览。
这会导致文档中出现一些奇怪的行为:
- 嵌入(excel)表的预览显示错误的数据
- 双击嵌入的表格会在嵌入的 Excel 中打开表格并显示正确的数据
- 关闭嵌入式编辑器会触发新预览的生成,显示正确的数据
当然,我希望表格在打开文档时显示正确的表格。如何触发 Word 丢弃图像并重绘预览?
对我来说,一个理想的解决方案是仅通过修改 docx 的内容来触发预览的重新生成,但使用小脚本的解决方案也会有所帮助。