Python调用win32操作Visio时Drop方法传非零坐标形状不显示问题
Visio Drop方法放置形状不可见问题解决方案
你的Drop方法入参理解是正确的,入参顺序确实为「要放置的Master/形状对象、X轴坐标、Y轴坐标」,出现形状不可见的核心原因是Visio的默认坐标单位规则:
- Visio默认坐标单位为英寸,默认空白A4页面的可视范围仅为宽约11.7英寸、高约8.3英寸,你设置的(50,50)坐标远超出页面可视边界,形状实际已经创建成功,只是在画布外无法观察到。
- Visio默认坐标原点在页面左下角,X轴向右递增、Y轴向上递增。
修复方案
可任选以下任意一种方式调整:
- 直接缩小坐标数值到页面可视范围内,测试是否正常显示:
page.Drop(shape, 2, 2)
- 如果你需要使用毫米作为坐标单位,先做单位转换(1英寸=25.4毫米),比如要放置在50mm、50mm的位置:
x = 50 / 25.4 y = 50 / 25.4 page.Drop(shape, x, y)
如果调整坐标后仍然看不到形状,可以手动在Visio中缩小画布视图,就能看到画布外的形状,验证问题原因。
内容的提问来源于stack exchange,提问作者dieEneLars
相关产品推荐
相关产品推荐

