ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何用VBA改变形状的调整控点?

如何用VBA改变形状的调整控点?

作者:绿色风 分类: 时间:2022-08-17 浏览:110
楼主
biaotiger1
Q:如何用VBA改变形状的调整控点?
A:右键单击sheet1工作表标签,弹出快捷菜单→“查看代码”,在代码窗口中输入代码如下
  1. Sub 笑脸变哭脸()
  2. Dim A As Object
  3. Set A = Sheets("sheet1").Shapes.AddShape(msoShapeSmileyFace, 100, 100, 100, 100)
  4. For i = -80 To 80
  5.     A.Adjustments.Item(1) = i / 1000
  6.     For J = 1 To 100: Next J
  7.     DoEvents
  8. Next i
  9. End Sub

运行以上程序,则先在sheet1工作表中插入一个哭脸的形状,然后嘴角慢慢上翘最终变成一个笑脸的形状。

 
  1. Sub 活动的双向箭头()
  2. Dim A As Object
  3. Set A = Sheets("Sheet1").Shapes.AddShape(msoShapeLeftRightArrow, 100, 100, 150, 150)
  4. For i = 1 To 50
  5.     A.Adjustments.Item(1) = i / 100
  6.     A.Adjustments.Item(2) = 0.5 - i / 100
  7.     For o = 1 To 5: Next
  8.     DoEvents
  9. Next i
  10. For i = 50 To 1 Step -1
  11.     A.Adjustments.Item(1) = i / 100
  12.     A.Adjustments.Item(2) = 0.5 - i / 100
  13.     For o = 1 To 5: Next
  14.     DoEvents
  15. Next i
  16. End Sub

运行以上程序,则在sheet1工作表中插入一个双向箭头。并改变其两个控点的数值,达到动态的效果。

 
2楼
BIN_YANG168
Q: 如何利用VBA改变自选图行的调整点调整图形形状?
A: ALT +F11→插入模块→在模块中输入以下代码:
  1. Sub 调整点()
  2.     ActiveSheet.Shapes("AutoShape 5").Select
  3.     Selection.ShapeRange.Adjustments.Item(1) = 0.3846
  4.     Selection.ShapeRange.Adjustments.Item(2) = 0.375
  5.     Range("A1").Select
  6.     End Sub
3楼
高玉甫

下载了,学习了,谢谢了。
4楼
sam.tan
#1楼,你好!为什么我运行宏后并没出现你文中展示的动态效果,请指导.
最好给个附件,谢谢.
5楼
biaotiger1
补充附件
动态效果.rar
6楼
高玉甫

师傅,您好!
    您的 5# 附件我看了,而且看了多次,还是不错的,谢谢您。

    但是,我还是有点感觉:
    1.您附件 Sheet1 中两个动画搅合在一起,且还要用按钮去分别指挥才能分别去动,好像有点一般;
    2.您附件 Sheet1 中“哭脸变笑脸”其实一直没有笑脸,和您 1# 的第一张图片相比,效果是“哭笑不得”;
    3.您附件 Sheet1 中“活动的双向箭头”没有您 1# 的第二张图片那样的恢弘效果。

    改善建议:
    1.请看我附件 Sheet1 中的要求叙述;
    2.请您把“哭脸变笑脸”动画制作在我附件的 Sheet2 中,代码也放在“哭脸变笑脸”按钮中,如能不要按钮支配,能自动的在按照设定的间隔时间在动为更好;
    3.请您把“活动的双向箭头”动画制作在我附件的 Sheet3 中,代码也放在“活动的双向箭头”按钮中,如能不要按钮支配,能自动的在按照设定的间隔时间在动为更好。

    以上,谢谢师傅了。
求改-动态效果.rar

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap