你好。 今天也继续说明VBA代码解决方案的第120次内容。 是在工作表内移动、旋转图像的方法。 在实际工作中有时移动和旋转图像,今天我将向大家介绍其知识。 其实,移动图像并不容易实现。 我们只要改变图像的位置就可以实现。 怎么旋转图像? 在这种情况下,请使用增量旋转方法。
IncrementRotation方法会以指定的度数增加图形围绕z轴的旋转。
语法如下: expression.increment rotation (增量)。
参数expression是必需的,并返回Shape对象。
参数Increment是必需的,指定图形的水平旋转量(以度为单位)。 正值将顺时针旋转图形,负值将逆时针旋转图形。
例如,我的工作表有三个图形,包括移动和旋转必须让他们运动。 让我们看看实测代码:
Sub MynzMoveShape (
DIM I AS长
日本航空母舰
dim叔龙
for I=1to 300步骤5
sheets(sheet2).shapes(1).top=sin ) I*1*(3.14/180 ) ) * 100 50
sheets(sheet2).shapes(1) .左=西) I*1*(3.14/180 ) ) * 100 50
sheets(sheet2).Shapes(1)1).Fill.ForeColor.RGB=i * 50
For j=1 To 10
sheets(sheet2).Shapes(1)1) .增量旋转- 2
事件
下一个
sheets(sheet2).Shapes(2)2).top=sin ) I*2*(3.14/180 ) ) * 100 100
sheets(sheet2).Shapes(2)2) .左=西) I*2*(3.14/180 ) ) * 100 100
sheets(sheet2).Shapes(2)2).Fill.ForeColor.RGB=i * 100
For j=1 To 10
sheets(sheet2).Shapes(2)2) .增量旋转- 4
事件
下一个
sheets(sheet2).Shapes(3)3).top=sin(I*3* )3.14/180 ) ) * 100 150
sheets(sheet2).Shapes(3)3) .左=西) I*3*(3.14/180 ) ) * 100 150
sheets(sheet2).Shapes(3)3).Fill.ForeColor.RGB=i * 150
For j=1 To 10
sheets(sheet2).Shapes(3)3) .增量旋转- 6
事件
下一个
下一个
最终辅
代码屏幕快照:
代码分析: MynzMoveShape进程不断更改工作表中图像的移动、旋转和填充的前景色。
用代码分别赋予三个图形:
设置1个图像的Top属性值,应用于Shape对象的Top属性设置从图像顶部到工作表顶部的距离。 在循环中使用Sin函数将Top属性的值设置为圆形弧度。
2设置图像的Left属性的值。 应用于Shape对象的Left属性设置从图像的左边距到a列的左边距或图表区域的左边距的距离。 在循环中使用Cos函数将Left属性的值设置为圆形弧度。
用3代码设定图像填充的前景色会随着循环的过程而不断变化。 使用Fill属性返回表示图形填充格式的FillFormat对象。 FillFormat对象的ForeColor属性设置对象填充的前景色。
其中使用DoEvents函数转让控制权。 否则,将无法获得预期的视觉效果。
运行MynzMoveShape过程时,工作表中的图表会沿圆弧移动,同时逆时针旋转自身,从而使填充颜色不断变化。
执行前:
运行1 :
执行2 :
这就是我们要达到的目的。 因为上述的旋转角度和移动速度没有做特别的计算,所以只要给出数值,实现我移动旋转就可以了。 读者可以在实际应用中根据实际需要设置这些参数。
今天的内容如下
1如何实现图形的移动?
2如何实现图形的旋转?