科学风景真好分享 http://blog.sciencenet.cn/u/sunbing01

博文

刘瑞祥:在PPT中用VBA实现图形的布尔运算

已有 2681 次阅读 2018-11-20 12:24 |个人分类:编程|系统分类:科普集锦

主要内容来自这里

  找了好久,才发现这个代码,网络上很多人问,好像没有中文的介绍,其实主要代码就这一句:

ShapeRange.MergeShapes(MergeCmd,PrimaryShape)

  显然,你只有选中(或者设定)一组形状以后,也就是说,你指定了一个ShapeRange以后,才能对它使用MergeShapes方法。

  第一个参数是组合方式,包括以下五个值:

  • msoMergeCombine:联合——把几个图变成一个,保留公共部分

  • msoMergeUnion:组合——把几个图变成一个,删除公共部分

  • msoMergeFragment:拆分——把几个形状沿公共部分的轮廓拆开

  • msoMergeIntersect:相交——之保留几个形状中的公共部分

  • msoMergeSubtract:剪除——从第一个形状中删掉和第二个形状的公共部分

003gS75Zzy7fSejVXqufe&690.jpg

左起:联合,组合,拆分,相交,剪除

  第二个参数是要继承的对象,比如你所指定的一组对象里,有的是红色填充的,有的是绿色填充的,布尔运算以后你要求新的对象是什么颜色?就要用这个参数了。本参数是可选的。

  下面的语句是例子,设计时在某一页幻灯片里选中两个叠放在一起的图形,然后执行下面的代码就可以看见效果了,其中省略了第二个参数:

Public Sub m()

    Windows(1).Selection.ShapeRange.MergeShapes msoMergeCombine

End Sub

  本例在Powerpoint2013中运行成功。



https://blog.sciencenet.cn/blog-3388899-1147230.html

上一篇:请教张云老师两个电路的动画
下一篇:刘瑞祥:在PPT中用VBA实现路径动画
收藏 IP: 221.197.66.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-23 18:56

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部