- ppt图表如何更改数据区域:蓝色扁平化公司简介PPT图表大全
- ppt背景图片简约:黑色CD背景的幻灯片放映结束背景图片
- ppt图表如何显示平均线:方形组织结构图
- ppt图表数据怎么编辑:40张彩色扁平化PPT图表大全
下面的是PPT教程网给你带来的相关内容:
ppt图片滚动循环播放怎么设置:使用Visual Basic宏实现PPT演示过程中图像的“拖动”(瞬移)
目录
目的
希望在PPT演示过程中使用鼠标任意改变图像的位置,虽然我是希望能够有顺畅的拖动效果,但是没做到…,只能瞬移
效果
为某一图像添加宏之后,演示过程中单击图像进入移动状态,直接移动鼠标,一定延时后图像移动至鼠标位置(单机图像+直接移动)
步骤 新建.pptx,更改后缀为.pptm设置PPT允许运行宏:文件->左下选项->信任中心设置->启动宏
启用开发工具选项:文件->左下选项->自定义功能->开发工具
开发工具-> Basic->右键新建模块->粘贴宏代码
为图片加入动作:插入->动作->单击时运行宏 (多张图就都设置一下)
宏
'启用选项显式声明,要求声明所有使用的变量
Option Explicit
' 使用WindowsAPI
Private Declare PtrSafe Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare PtrSafe Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Type POINTAPI
x As Long
y As Long
End Type
Dim dragMode As Boolean '当前拖动状态
Const SM_CXSCREEN = 0 '屏幕像素宽
Const SM_CYSCREEN = 1 '高
' 点击图片切换状态
Sub ImageClicked(sh As Shape)
dragMode = Not dragMode
If dragMode Then Drag sh
End Sub
' 可拖动则开始拖动
Private Sub Drag(sh As Shape)
Dim imgX As Integer, imgY As Integer '图像位置
Dim presWidth As Long '演示窗口大小
Dim presHeight As Long
Dim screenWidth As Long '屏幕大小
Dim screenHeight As Long
Dim ratioWidth As Double '比例
Dim ratioHeight As Double
Dim oldX As Long
Dim oldY As Long
Dim cursorPos As POINTAPI '鼠标位置
' 获取当前鼠标在屏幕上的位置
Call GetCursorPos(cursorPos)
oldX = cursorPos.x
oldY = cursorPos.y
imgX = sh.Left
imgY = sh.Top
' MsgBox "图像左上" & x & "," & y
presWidth = ActivePresentation.SlideMaster.Width
presHeight = ActivePresentation.SlideMaster.Height
' MsgBox "演示文稿大小:" & presWidth & " x " & presHeight '(960,540)
screenWidth = GetSystemMetrics(SM_CXSCREEN)
screenHeight = GetSystemMetrics(SM_CYSCREEN)
' MsgBox "屏幕大小:" & screenWidth & " x " & screenHeight '(1920, 1080)
ratioWidth = screenWidth / presWidth
ratioHeight = screenHeight / presHeight
' MsgBox "ratio : " & ratioWidth & "," & ratioHeight
Dim i As Integer
i = 0
While dragMode
Call GetCursorPos(cursorPos)
sh.Left = imgX + (cursorPos.x - oldX) / ratioWidth
sh.Top = imgY + (cursorPos.y - oldY) / ratioHeight
i = i + 1: If i > 1000 Then dragMode = False: Exit Sub
' DoEvents
Wend
End Sub
说明
在运行 basic宏的时候似乎是阻塞其他,所以图像不会及时刷新,但是使用交还控制权给操作系统来处理这些绘图事件又会显得卡顿ppt图片滚动循环播放怎么设置:使用Visual Basic宏实现PPT演示过程中图像的“拖动”(瞬移),所以还是放弃连续拖动,直接瞬移吧
方法非常的蠢,循环了1000次持续捕捉鼠标位置并更新图像位置,所以可供拖动的时间可能受电脑处理速度影响ppt图片滚动循环播放怎么设置,可以自己调整倒数第3行循环次数 If i>1000
感谢你支持pptjcw.com网,我们将努力持续给你带路更多优秀实用教程!
上一篇:ppt动画效果怎么设置顺序:PS怎么将PPT写字的动作做成动画? 下一篇:ppt动画效果怎么设置顺序:ppt怎么做路径动画 ppt制作路径动画
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。