说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

加速Visual Basic For Application(VBA)

HTML文档下载 WORD文档下载 PDF文档下载
加速Visual Basic For Application(VBA)
如今的CPU的发展是越来越快,从386、486到今天的Pentium、Pentium Ⅱ,发展速度可谓快矣。然而,在CPU高速发展的同时,应用软件的“体重”也随之猛涨,从我学电脑时的几K、几十K ,到今天的几十兆、几百兆,这变化连我自己都感到吃惊。CPU的进步,使人们工作更加快速,效率大增,同时也养成了人们“不求简”的不良习惯。笔者曾见过一位朋友正在编写一段程序,用的是VBA,程序代码如下:
  With ActiveWindow
  If WindowState = wdWindowStateMaximize Then ’this is the first part!
  MsgBox "This is a Maximize Window"
  End If
  If WindowState = wdWindowStateMinimize Then ’this is the second part!
  MsgBox "Here is a Minimize Window"
  End If
  If WindowState = wdWindowStateNormal Then ’this is the third part!
  MsgBox "Now here, is a Normal Window!"
  End If
  End With
  乍看一下,似乎结构还挺漂亮,是个好程序。但细分析一下,你会发现,这段程序是个败笔。因为这三段程序没有实现应该具有的逻辑结构。我将这个意见告诉了这位朋友,他到很能听进话,马上修改了上述程序,具体程序代码如下: With ActiveWindow
  If WindowState = wdWindowStateMaximize Then ’this is the first part!
  MsgBox "This is a Maximize Window"
  ElseIf WindowState = wdWindowStateMinimize Then ’this is the second part!
  MsgBox "Here is a Minimize Window"
  ElseIf WindowState = wdWindowStateNormal Then ' this is the third part!
  MsgBox "Now here, is a Normal Window!"
  End If
  End with
  我的那位朋友写完这段程序后,冲我笑笑,意思说:“怎麽样?”我看了看这段程序,心想:如果WindowState 不等于 wdWindowStateMaximize的话,则要在判断WindowState是否等于 wdWindowStateMinimize ,如果还不等于的话呢?则要继续判断是否等于wdWindowStateNormal,这样下来,要闯三个“家门”方可进对,累不累啊?我看着不耐烦了,自己亲自编了一段程序:
  Select Case WindowState
   Case wdWindowStateMaximize ’this is the first part!
   MsgBox "This is a Maximize Window"
   Case wdWindowStateMinimize ’this is the second part!
   MsgBox "Here is a Minimize Window"
   Case wdWindowStateNormal ' this is the third part!
   MsgBox "Now here, is a Normal Window!"
  End Select
  正如你所看到的,这段程序简练、易懂、可读性强,相信会为程序增色不少。而且如果调试起来,你会发现它的其他优点。难怪朋友恍然大悟呢!
  其实,使用哪种判断语句,也是有章可循的。比如:如果有两种可能性,那麽可毫不犹豫地选择If/Elseif;对于两种或两种以上的可能性,最好选择Select Case/End Select。多数情况下,如果只有一种唯一选择性的关系,那麽,"if then/endif" 将是最佳选择。
CES 2014:奥迪下一代汽车将采用NVIDIA的芯片! Cocos 3.0 Beta发布:更易用、更友好 开拓新兴市场?诺基亚或推Android手机,UI界面遭泄露 预测2014大数据值得关注的8个发展方向 霸主地位再临挑战?Salesforce CEO,我们不只有Oracle LBS应用新星、“司机好助手”微车借力移动互联网,志在打造车主的个人移动门户 新一代IDE Light Table开源:让编程工作更简单 图片应用也能高大上,看Cooliris如何玩转无人机 拥抱Spark,机遇无限——Spark Summit 2013精彩回顾 1月10日:改变世界的iPhone七岁了,你是传奇! 同洲电子推出首款手机操作系统960OS 免费授权使用 如何在Windows 8.1的IE11中打开同步选项卡? 25年老对手评价微软:换CEO可行,但是太迟了 【PPT集萃】十位一线专家分享Spark现状与未来(三) 万元奖品等你拿!2014创客118新年大Party! Firefox OS的2013回顾和2014展望 Strom8 CEO:搞好手游开发,合伙人很重要 2013年Q4全球PC出货量同比下滑6.9% 已连续下滑七个季度 一周消息树:2013年十大产品、图书、公司盘点 专访Wunderlist主设计师Jan Martin:永远不要盲目跟风流行趋势 研发周报:超实用的JavaScript技巧及最佳实践 2013最吃香的技能:Java称霸、Android势头正猛 移动周报:最火原型设计工具盘点 “京东电商云”起航,零售企业及品牌商是重点 教育乃立国之本:教育类开源项目大汇集 Hugo Barra首度谈离开谷歌后在中国工作的感受 对中国赞不绝口 母婴行业最早试水者 优谈宝宝借助轻应用全面布局移动产品线 腾讯云平台部总经理纪顺友:微云将彻底迈过文件传输的门槛 豌豆“荚”油!B轮融资1.2亿美元的豌豆荚 2013年终盘点:10款最精巧的硬件开发板 SquareWear:可替代Lilypad Arduino的开发板 紧急求救!如何判断单行编辑框输入内容是否为数字,不是给出提示,具体怎么写,谢谢!!! 收购C、C++、JAVA版的完整工程源程序 一个关于编译的问题??? 收购C、C++、JAVA版完整工程源序 VC中如何实现等待5微秒? 关于如何用代码描述rc文件, 那位用过触摸屏的,给个建议, 请问微秒级的延迟在C语言中如何实现? 请问为什么在COM中总是使用双重值针,即指针的指针? 用过,销售,触摸屏的兄弟姐妹给个建议 关于C里面的setjmp()和longjmp()函数的使用。 一个用VB偏的“图片批量转换软件”!带源代码!!! 多伦多穷人欢庆申奥失败 有人注意到了吗???directX的资源释放不干净! 谁能帮我做一个小型帐务管理(用C)??? 用delphi编程,用什么触摸屏比较好啊? 怎样在程序运行时增加子菜单(要增加的数目是未知的) 关于Sprite动画 出售代码 ACCESS的FORMS DLL调用函数问题 VB在ACCESS中应用的一个小问题! ACCESS中的FORMS问题? 再普通不过的一个问题 delphi6中还有BDE和ADO吗?它们被淘汰了吗?现在还有必要用它们来学数据库的开发吗? 50分答谢!!!---这个css定义为什么会出现这样的效果??? 各位:怎么判断表里某个字段是否存在? 纯技术问题:精通“书签“与“层“的大虾请进!!!! 一个奇怪的现象,请教高手这是怎么回事? 哪里有破解清华五行卫士密码的软件? vc++7.0好用吗? 吃完晚饭了... 可不可以让 CppWebBrowser1的背景不是白色? 热热热!!!热疯了!!! 我的喇叭哪儿去了? 我的PB程序出了问题了!!! sql server中哪个函数是用于字符串与整型之间转换的? 我想限定文本输入框只能输入10个汉字或20个英文字符,但文件输入框却只能输入10个英文字符,如何解决? 当我将这样的字符串“dsdsdsdfsdffsdsdfsdfsfdsdfsdfsfsfdsdffs.....”放入我的表格中时,无论怎样设置也不折行,影响了部局,如何解决? MFC中视图(view)是怎样随着主窗口的大小改变而改变的。 急!请教!!猫猫连接,用数据管道同时访问两库,访问不到对方的网络库(sybase) 关于电影下载 我已经把一个exe文件加入到我自己的程序中了,请问在我的程序中应该样调用该exe文件呢? 哪位高手知道RTF格式的含义?或者更好,知道Rxlib中的RXRICHEDIT控件中识别RTF格式的方法? Delphi编写的DLL在VC下不能使用 请问哪儿有电工的<>的电子版下载?我只有这么多了 msdn2001年4月版的讨论 请问哪儿有电工的<>的电子版下载? 请教高手!!!! 请进 各位:周末愉快!为何我的多表查询用updatebatch提交时总是报错? 我不明白!!!! 85和68的最小公因数是? 15的素因数是什么:有几个?是【素】因数。 判断:36和48的公因数有2、3、4、6、12,其中最大公因数是12. 13和19的公因数有哪些?急. 45和15是因数和倍数的有哪些 24.36.48 公因数 13和17有没有公因数? 请问72和48公因数有多少? 96和80的公因数有哪些 2,17,13的公因数 72的公因数是,90的公因数是,最大公因数是,最小公因数是 160的公因数 20和12的公因数有什么?其中最大的是什麽? 108和144的最小公因数 120和56的公因数是多少? 20和24的公因数有哪些 用短除法求下面各组数的最大公因数和最小公因数4和6 18和20 72和96 81和108 77和160有没有公因数 24和20共有公因数多少个? 93和108的公因数(这个因数的倍数不能有96、99、102、105)108的的因数(这个因数的倍数不能有93、96、99、102、105) 80和30 公因数 15.20和30的公因数 8和10的公因数 75和60 所有公因数的和 9和21 公因数9和21的最小公因数 8和24的公因数是什么 90和60的公因数有哪些 36和60的公因数有哪些?急死人了啦,我根本不想算啦 8和5的公因数 16和25的公因数 48和36的最大的公因数是? 8和32的公因数 45,75和60的公因数 48和36 75和15公因数是多少? 46和13 公因数 24和54的公因数有哪些 24和36的公因数快一点快 14和46的最小公因数 30和35的公因数有哪些 24和36的公因数有( ) 1-99的公因数是什么?可加我好友我现场问一下 科学 (26 19:5:8)一位同学用天平和量筒测定不规则木块的密度,已知木头的密度小于水的密度.请写出所需实验器材和实验步骤,并写出木块密度表达式.  24和36最大的公因数是? 公因数是什么意思? 1、将干燥纯净的氯酸钾13.25KG与3.25KGMNO2混合后装入大试管知趣氧气,反应一段时间后得到11.7固体物质.(1)制的的氧气质量是多少?(2)反应后固体物质是什么?质量是多少?(1)4.8KG  (2) 56和176的最大的公因数 625和560有没有公因数?(1除外!)(要最大的) 科学家用_、_及_来描述与研究运动. 90和40的公因数这是吗》》? 285和175有没有公因数?(1除外!)(要最大的) 科学题 (23 21:41:24)1.水晶是晶体吗?2.晶体一般具有______、________,而非晶体一般不具有这些特性.3.无水硫酸铜粉末是____色的,遇水后形成的硫酸铜晶体是____色的,把其溶解在水中形成的硫酸铜溶 30和45的公因数 498和415有没有公因数(1除外) 科学 (23 16:47:21)一辆长30m的大型平板车,整两车匀速通过70m长的桥,所用的时间是10s,它以同样的速度通过另一座桥,花了20s时间.那么,另一座桥长多少? 45的因数,15的因数 285和175有没有公因数?(1除外!) 科学 (23 21:28:35)有一铝球,体积是60cm2,质量是108g,判断该球是空心还是实心?如果该球是空心,那么球内的中空部分的体积是多大?如果在中空部分铸满铁,那么这个球的质量为多少?(铝的密度:2.7 14和35的最小公因数 19和8的最小公因数 30和45的因数有多少. 1和3有没有公因数求快
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn