欢迎光临
我们一直在努力

加速visualbasicforapplication(vba)_visualbasic教程

建站超值云服务器,限时71元/月

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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 加速visualbasicforapplication(vba)_visualbasic教程
分享到: 更多 (0)