excel学习库

excel表格_excel函数公式大全_execl从入门到精通

VBA代码解决方案第120讲:如何实现图片在工作表中移动、旋转

大家好,我们今日继续讲解VBA代码解决方案的第120讲内容:如何实现图片在工作表中移动、旋转。在实际的工作中我们还会用到移动、旋转图片,今天就给大家讲解这方面的知识。其实,移动图片不难实现,我们只有改变图片的位置就可以实现,如何让图片旋转呢?这时我们会用到IncrementRotation方法。 IncrementRotation方法以指定的度数为增量,使图形绕 z 轴的旋转。 语法如下:expression.IncrementRotation(Increment) 参数expression是必须的,返回一个Shape对象。 参数Increment是必须的,以度为单位指定图形在水平方向的旋转量,正值使图形按顺时针方向旋转,负值使图形按逆时针方向旋转。 实例,我的工作表中有三个图形,要让他们运动起来,含移动和旋转。下面我们看实测代码: Sub MynzMoveShape() Dim i As Long Dim j As Long Dim T As Long For i = 1 To 300 Step 5 Sheets("sheet2").Shapes(1).Top = Sin(i * 1 * (3.14 / 180)) * 100 + 50 Sheets("sheet2").Shapes(1).Left = Cos(i * 1 * (3.14 / 180)) * 100 + 50 Sheets("sheet2").Shapes(1).Fill.ForeColor.RGB = i * 50 For j = 1 To 10 Sheets("sheet2").Shapes(1).IncrementRotation -2 DoEvents Next Sheets("sheet2").Shapes(2).Top = Sin(i * 2 * (3.14 / 180)) * 100 + 100 Sheets("sheet2").Shapes(2).Left = Cos(i * 2 * (3.14 / 180)) * 100 + 100 Sheets("sheet2").Shapes(2).Fill.ForeColor.RGB = i * 100 For j = 1 To 10 Sheets("sheet2").Shapes(2).IncrementRotation -4 DoEvents Next Sheets("sheet2").Shapes(3).Top = Sin(i * 3 * (3.14 / 180)) * 100 + 150 Sheets("sheet2").Shapes(3).Left = Cos(i * 3 * (3.14 / 180)) * 100 + 150 Sheets("sheet2").Shapes(3).Fill.ForeColor.RGB = i * 150 For j = 1 To 10 Sheets("sheet2").Shapes(3).IncrementRotation -6 DoEvents Next Next End Sub 代码截图:代码解析:MynzMoveShape过程实现移动、旋转工作表中的图片并不断改变其填充的前景色。 通过代码分别给三个图形: ① 设置图片的Top属性值,应用于Shape对象的Top属性设置图形的顶端到工作表顶端的距离。在循环的过程中使用Sin函数将Top属性值设置为一个圆形的弧度值。 ② 设置图片的Left属性值,应用于Shape对象的Left属性设置图形从左边界至 A 列左边界(在工作表中)或图表区左边界(在图表工作表中)的距离。在循环的过程中使用Cos函数将Left属性值设置为一个圆形的弧度值。 ③ 代码设置图片填充的前景色随着循环的过程不断的变化。使用Fill属性返回一个FillFormat对象,FillFormat对象代表图形的填充格式,其ForeColor 属性设置对象填充的前景色。 其中使用DoEvents函数转让控制权,否则达不到预计的视觉效果。 运行MynzMoveShape过程过程,工作表的图形在自身进行逆时针方向旋转的同时沿着一个圆形的弧度进行移动,并不断改变其填充的颜色。 运行前:运行1:运行2:这样就是实现了我们的目的,由于上面的旋转角度和移动的速度我没有做特别的计算,只是给出了数值,实现我移动旋转即可,读者在实际的应用中可以根据实际的需要来设定这些参数。 今日内容回向: 1 如何实现图形的移动? 2 如何实现图形的旋转?

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接