【问题标题】:How to recover Texture Offset of a chart (Format Plot Area > Picture or Texture fill > Offset)?如何恢复图表的纹理偏移(格式绘图区域>图片或纹理填充>偏移)?
【发布时间】:2021-06-16 04:11:30
【问题描述】:

我正在使用 pywin32 (Python) 通过 Python 脚本自动恢复 Excel 图表数据属性。由于我需要使用 COM 接口,因此我的开发经常使用 Chart Object Model 和 VBA。

打开Excel文件,你可以找到类似的属性> 格式化绘图区域> 图片或纹理填充,然后有左偏移、右偏移、上偏移、下偏移以及一些百分比值。

我有图表对象。如何恢复这个“偏移量”?

例如,我可以恢复纹理填充的透明度值:

PlotArea.Format.Fill.Transparency

TextureOffsetX 和 TextureOffsetY 不给出任何结果。

我尝试录制宏以查看更改了哪些属性,但更改偏移后宏为空。

我还阅读了对象文档:PlotArea、ChartArea 等。

【问题讨论】:

    标签: python excel vba com pywin32


    【解决方案1】:

    仅供参考,查找此类属性的最佳方法是在 VBA 中创建您感兴趣的类型的对象,并在该对象上放置一个 Watch,以便您可以在 watch 窗口中探索其属性。

    with activesheet.chartobjects(1).chart
        debug.print .chartarea.format.fill.textureoffsetX
        debug.print .chartarea.format.fill.textureoffsetY
    end with
    

    【讨论】:

    • 谢谢,我尝试使用 Watch,它确实有助于找到我需要的属性,但它仍然接近使用 pywin32 Excel 对象。此外,它并没有解决问题,因为 Format.Fill 或 Format.PictureFormat 属性只是不包含我需要的信息,offset left 等仍然无处可寻。录制宏并更改偏移值时,不录制步骤,宏为空..
    • 对不起,我在完成句子之前发表了我的评论。确实,这不是我需要的属性,并且在阅读文档时,假定的属性将位于 .Format.PictureFormat.CropLeft/CropBottom 等之下。并且 VBA 记录器不适用于更改偏移值
    • 我什至看不到您如何裁剪用作“填充”属性的插入图片,只有一张已粘贴到图表中。你能描述一下图片是如何插入然后裁剪的吗?
    • 当然!抱歉,我应该马上添加图片:i.stack.imgur.com/BpANu.png
    • 是的,看到之后,我也找不到那个属性...
    猜你喜欢
    • 2021-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 2015-04-17
    相关资源
    最近更新 更多