网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Visual Basic
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.使VB的网格控件具有输入功能.
.怎样存取注册表信息.
.让窗体居中.
.充分扩充VisualBasic功能.
.VB中利用WinRAR进行文件压缩.
.在VisualBasic中终止Windows95.
.在VisualBasic中使用Rundll32.ex.
.无闪烁地快速附加字符串到TextBo.
.页面锁定的锁定方案--多客户环境.
.破解Windows屏幕保护admin888.
.用VB编写一个光驱保镖.
.FLIC动画文件的播放程序设计.
.Whois示例程序.
.Data控件使用有admin888的Access.
.制作带有动画和声音的屏幕保护程.
.避免VisualBasic程序重复执行.
.VB图片框在报表设计中屏幕滚动的.
.Shell.
.用VB实现聊天讨论室和点对点会话.
.使用Data控件访问数据库.

加速VisualBasicForApplication(VBA)

发表日期:2006-2-27


如今的CPU的发展是越来越快,从386、486到今天的Pentium、PentiumⅡ,发展速度可谓快矣。然而,在CPU高速发展的同时,应用软件的“体重”也随之猛涨,从我学电脑时的几K、几十K,到今天的几十兆、几百兆,这变化连我自己都感到吃惊。CPU的进步,使人们工作更加快速,效率大增,同时也养成了人们“不求简”的不良习惯。笔者曾见过一位朋友正在编写一段程序,用的是VBA,程序代码如下:
  WithActiveWindow
  IfWindowState=wdWindowStateMaximizeThen'thisisthefirstpart!
  MsgBox"ThisisaMaximizeWindow"
  EndIf
  IfWindowState=wdWindowStateMinimizeThen'thisisthesecondpart!
  MsgBox"HereisaMinimizeWindow"
  EndIf
  IfWindowState=wdWindowStateNormalThen'thisisthethirdpart!
  MsgBox"Nowhere,isaNormalWindow!"
  EndIf
  EndWith
  乍看一下,似乎结构还挺漂亮,是个好程序。但细分析一下,你会发现,这段程序是个败笔。因为这三段程序没有实现应该具有的逻辑结构。我将这个意见告诉了这位朋友,他到很能听进话,马上修改了上述程序,具体程序代码如下:WithActiveWindow
  IfWindowState=wdWindowStateMaximizeThen'thisisthefirstpart!
  MsgBox"ThisisaMaximizeWindow"
  ElseIfWindowState=wdWindowStateMinimizeThen'thisisthesecondpart!
  MsgBox"HereisaMinimizeWindow"
  ElseIfWindowState=wdWindowStateNormalThen'thisisthethirdpart!
  MsgBox"Nowhere,isaNormalWindow!"
  EndIf
  Endwith
  我的那位朋友写完这段程序后,冲我笑笑,意思说:“怎麽样?”我看了看这段程序,心想:如果WindowState不等于wdWindowStateMaximize的话,则要在判断WindowState是否等于wdWindowStateMinimize,如果还不等于的话呢?则要继续判断是否等于wdWindowStateNormal,这样下来,要闯三个“家门”方可进对,累不累啊?我看着不耐烦了,自己亲自编了一段程序:
  SelectCaseWindowState
  CasewdWindowStateMaximize'thisisthefirstpart!
  MsgBox"ThisisaMaximizeWindow"
  CasewdWindowStateMinimize'thisisthesecondpart!
  MsgBox"HereisaMinimizeWindow"
  CasewdWindowStateNormal'thisisthethirdpart!
  MsgBox"Nowhere,isaNormalWindow!"
  EndSelect
  正如你所看到的,这段程序简练、易懂、可读性强,相信会为程序增色不少。而且如果调试起来,你会发现它的其他优点。难怪朋友恍然大悟呢!
  其实,使用哪种判断语句,也是有章可循的。比如:如果有两种可能性,那麽可毫不犹豫地选择If/Elseif;对于两种或两种以上的可能性,最好选择SelectCase/EndSelect。多数情况下,如果只有一种唯一选择性的关系,那麽,"ifthen/endif"将是最佳选择。->

上一篇:在VB中设计倒计时程序 人气:6706
下一篇:用VB函数轻松访问系统注册表 人气:4088
浏览全部Visual Basic的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐