热点推荐:
您现在的位置: 电脑学习网 >> 软件专区 >> 正文

用VBA实现图像文字随意拖

2013-09-12 15:53:24  来源: 软件专区 
  与其他一些演示平台如Authorware、Flash等相比,PowerPoint 2003在交互性方面还稍逊风骚,如作诸如图案创意、足球战术、围棋复盘等演示时,经常需要对幻灯片中的图片或文字即时即兴地调整位置以增加演示的生动性,而PPT却无法直接实现,这个时候就需要借助强大的VBA代码了。
让PPT接受宏
  PPT内置了VBA编辑器,利用它可以扩展PPT的功能。由于VBA代码特别是用VBA编制的宏病毒代码会对PPT的安全性构成威胁,因此在高安全等级下PPT将拒绝执行VBA。
  在确保VBA代码来源合法和运行无害的前提下,需要降低PPT的安全等级以使VBA代码得以执行。选择"工具→宏→安全性"菜单,将安全级别设为"低",同时将"可靠发行商"页下的"信任对于Visual Basic项目的访问"项勾选。
创建PPT
  1.在PPT中新建空幻灯片。
  2.选择"视图→工具栏→控件工具箱"菜单,打开控件工具箱。
  3.点击控件工具栏的"标签"控件,在空幻灯片中拖出标签对象Label1。然后点击控件工具栏的"属性"按钮,打开属性栏,设置Label1的Caption、Font、ForeColor、BackStyle等属性。
  4.点击"图像"控件,在幻灯片中添加图像对象Image1。在Image1的属性栏中,设置它的AutoSize、Picture属性,加入图片文件并让图像对象适应图片的大小。WwW.iTCoMpUteR.COM.cN
添加代码
  双击Label,或选择"工具→宏→Visual basic编辑器"菜单,打开VBA,选择Label1对象,再选择对应的MouseDown、MouseMove和MouseUp事件,加入以下代码:
  Dim X1, X2, X3, X4, X5, X6 As Integer, Y1, Y2, Y3, Y4, Y5, Y6 As Integer, Down As Boolean '设置全局变量,X1、Y1等为Label1等对象的初始坐标值
  Private Sub Label1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  If Not Down Then
  X1=X
  Y1=Y
  Down=True
  End If
  End Sub
  Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  '如果鼠标已按下,设置Label1新的坐标值
  If Down Then
  Label1.Left=Label1.Left+X-X1
  Label1.Top=Label1.Top+Y-Y1
  X1=X
  Y1=Y
  End If
  End Sub
  Private Sub Label1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  Down=False
  SlideShowWindows(1).View.First'刷新屏幕,使用PowerPoint XP/2003时加入此句
  End Sub
  为Image1加入以下VBA代码:
  Private Sub Image1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  If Not Down Then
  X4=X
  Y4=Y
  Down = True
  End If
  End Sub
  Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  '如果鼠标已按下,设置Label1新的坐标值。
  If Down Then
  Image1.Left=Image1.Left+X-X4
  Image1.Top=Image1.Top+Y-Y4
  X4=X
  Y4=Y
  End If
  End Sub
  Private Sub Image1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  Down=False
  SlideShowWindows(1).View.First'刷新屏幕,使用PowerPoint XP/2003时加入此句
  End Sub
  这两段VBA代码并不复杂,稍有VB基础的读者一看便懂,这里就不详加解说了。需要指出的是,以上代码也可在PowerPoint 97/2000中正常执行。
调试执行
  Label1和Image1的VBA代码都输入完成并调试无误后,按F5放映幻灯片。怎么样,幻灯片中的图像和文字是不是可以随心所欲地拖动了?
  这个示例比较简单,但其原理可作为实现更复杂操控效果的基础。一个熟悉PowerPoint VBA的人,基于此示例设计出类似于空当接龙那样的扑克游戏亦并非难事。不信,你也动手试试?看看PPT到底还有多少功能尚未挖掘出来。
    
禁用Vista的同步中心   阿飞:Vista里有个同步中心开机时会自动启动,请问董师傅这个同步中心有什么用,如何禁用?www.sq120.com推荐文章

  董师傅:同步中心可以帮助你把电脑与其他电脑、智能手机、PDA等设备的资料同步,如果你有上述的设备需要与电脑同步,建议你不要禁用同步中心。如果你要禁用同步中心,可以单击“开始→所有程序→附件→系统工具→任务计划程序”,在“任务计划程序”的左边窗格里单击“任务计划程序库→Microsoft→Windows→MObilePC”,此时中间会出现“TMM”任务。双击“TMM”,在弹出的对话框中选择“触发器”标签,双击其下的“登录时”,再次弹出一个“编辑触发器”对话框,去掉“启用”选项前面的钩,单击“确定”即可。  
512m的电脑如何使用vista   我的电脑只有512MB的内存,但我想在不升级内存的情况下使用Windows Vista,请问在操作系统中如何设置才能比较流畅地运行Vista?

  热心读者:一般来说512MB内存可以安装Windows Vista,但在运行应用中会相当吃力,下面介绍的几个方法虽然可以实现Vista较为流畅地运行,不过我们建议最好还是将电脑内存升级至2GB吧。
  1.建议安装Windows home basic版本。这一版本特别适合那些电脑配置不是很高又想使用新的操作系统内核的使用者,除了一些特效之外,对于普通用户没有什么特别的影响。
  2.关闭各种特效。Vista的特效非常消耗资源,可以在桌面右键菜单中选择“个性化”→“显示设置”,关掉所有诸如毛玻璃透明之类的特殊效果,毕竟花哨华丽的效果与流畅运行相比,后者更为重要。
  3.软件加速。使用软件来加速系统,如系统加速精灵V2.5、智能内存整理、IE终极加速器V2.2、Vista注册表优化,这些软件在网上都能很方便地找到。
  4.使用ReadyBoost功能。Windows Vista操作系统中增加了ReadyBoost功能,当计算机寻找需要使用的数据时,首先会在CPU缓存中寻找,随后是RAM,接着就是用于ReadyBoost的闪存,最后才是硬盘虚拟内存。在闪存中寻找数据比从硬盘中寻找快,因此ReadyBoost的运行速度快于硬盘虚拟内存。而且用于ReadyBoost的闪存的速度必须要快,需要一个256MB以上容量的USB2.0接口闪存,这样才能达到加快系统运行速度的效果。  
From:http://www.itcomputer.com.cn/Article/Software/201309/345.html
    Copyright © 2005-2013 电脑知识网 Computer Knowledge   All rights reserved.