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

加速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" 将是最佳选择。
OpenFeint绝迹后,开源项目OpenKit继续前进 美FDA通过搜索引擎和社交平台预警药品副作用 挖坟三星“眼球追踪技术”背后的技术团队 为什么开发者热衷在Stack Overflow上查阅API文档? Facebook推新News Feed 欲造就“个性化报纸” 女神程序员的一天:暴力测试social爬虫代码 2013IBM云存储路线图:更快,更简单,更安全 二战大数据故事:数学家、物理学家、概率论击败德国潜艇 软件定义网络服务商Pertino B轮融资2000万 Scringo社交组件,让你的应用“热闹”起来! Android开发必备:Eclipse 4.2 SR2版本发布 32场!2013年360HTML5校园行首站告捷 移动周报:不做内容,只钻技术的快播 一周消息树:中国开源发展缓慢的“病因” 百度应用引擎BAE正式开放 新增支持Node.js CloudVelocity,下一个VMware? Buffer创始人谈开发:先验证,后编程! 谷歌可穿戴式产品再度来袭:会说话的鞋子 未来Chrome OS或取得Android般成功 云落地@北京,北京市北斗公共平台或开放API? GitHub再遭攻击 主要服务中断约一小时 移动开发者将有望拥有.app域名使用权 微信将推“游戏中心”?移动互联网入口圈地加剧 美国航空公司首次开放API 并举办“黑客马拉松”编程大赛 谷歌数据中心设计的10条“黄金法则” GitHub时代:为什么我们都在开源 VMware发布Horizon Suite 三款应用打包折扣低 TOP30+应用排行榜:二月份国内外综合榜单 开源是否意味着不需要负任何责任? 微软年度科技展 酷炫技术知多少 图解Hadoop生态系统 做过进销存系统的高手们,请谈谈经验 asp 与 dreamweaver有联系吗? 请教如何设置WIN2000的时间服务? 怎么样判别时间字段为空 ? 如何实现类适于IE浏览器的图片旋转功能 如何在FileListBox中弹出系统对该文件的右键菜单 如何更改MFC程序生成文件的默认图标? 我是ASP初学者,请大家帮忙? 英语真的那么重要吗? 一个JS的简单问题,但是我还是给100分 怎么透明显示一张bmp图片(急,在线等待) 急,两个问题,帮帮忙(其中一个关于ActiveSkin) 查询出的报表内字段值为空的单元格,显示不出单元格框线,为什么? Java论坛 急!在LINUX下,配置内核时Intel corporation|82801AB AC'的声卡应该先哪项,我用的是2.4.16的内核。 世界杯——蓝色的忧郁 使用异步socket通信,服务器端在OnReceive消息函数中能否获得客户端IP地址? 菜鸟学JAVA送分 怎样用delphi实现EDI? 两到汇编题。麻烦大家帮我做一下。。我实在做不出来 今天去面世了~~~结果他们………… 举报 哪里有.net源程序下载?? : 两到汇编题。麻烦大家帮我做一下。。我实在做不出来 莱鸟问题:如何字符变量str的值赋给EDIT控件, : 两到汇编题。麻烦大家帮我做一下。。我实在做不出来 哪里有2001年的中程的试卷? 第一次来CSDN,以后希望大家多多帮助!! 在VB中获取和修改计算机名字 用什么软件能把扫描仪扫的文章变位文本文档?? 终止线程出错! VB中远程数据库的访问 如何实现使textbox中只能输入带两位小数的内容?即保证其中内容为*.XX(*代表任意数字串),凡不合要求的输入都被过滤? 如何在IIS的DefaultWEB Site的属性的HTTP Header中加入新的File type?? 怎样读jpeg的头文件,用C语言,谢了 为什么我远程连接sql server总不成功呢?我已经把1433端口开了啊 西游记 如何判断一个大整数是素数,如何找出整数的模逆 多层数据库开发源码大公开---不可多得! WinZip等的右键菜单Add to xxx.zip是怎么实现的? 帮帮忙,急! 因写程序丢过头发的请进. 怎样使lable的内容分两行显示 一个使我困惑的小问题,敬请关注(***100分***)!! 帮帮忙好吗? 二个关于字符串中对子串的替换与删除的问题? 怎样实现虚构造函数? 请问各位高手,手机图片和手机铃声是什么格式的?在电脑上能不能打开?应该怎么制作? 请大家帮个忙,有个小问题,如何用showmessage输出括号内的内容('%K%')?在线等待 A simple problem!? 列出中国近代史上学生的爱国运动有哪些 小利问小王:“你们家共有几口人呢?”小王答:“我家人数的3/4再加上3/4个人,就等于我家的人数.”小王家有( )人. 我国人口有1182005000人,这个数读作(),改写成以万作单位的数是().请问()里面还带单位吗 如何战胜幸福的两大天敌? 食堂买来2/3吨面粉,如果明天吃1/9吨,可以吃( )天? 双黄蛋孵出来的小鸡是什么样的? 开心部落各宠物对应的天敌是什么 小利问小王:“你们家共有几口人?”小王答道:“我家的人数的3/4再加上3/4个人,就等于我家的人数.”小王 第五次全国人口普查统计全国人口约为1236260000这个数读作,改写成以亿作单位的数约是()亿 生物人有没有天敌 怎么克服呢 设直线kx+(k+1)y-1=0(k是正整数)与坐标围成的三角形面积为Sk,则S1+S2+S3……S2013的值是? 全国第五次人口普查统计结果显示,我国总人数已达到1295330000人,读作()人改写成“亿人”作单位,并保留两位小数越是()亿人. 田地里打败了天敌.123456 She's going to the cinema( )Sunday evening填on或in,并说明原因. 全国第六次人口普查数据显示,我国现有1370536875人,横线上的数读作(),改写成以万为单位的数是()改写成以亿为单位的数,保留两位 小数是() what would you like,tea or coffee?和which would you like,tea or coffee?的区别 每个生物都有天敌 那病毒有没有天敌 鱼干里面的虫子对人体有什么危害 一个正方形桌面边长为80厘米,给它配一个同样长的玻璃,求玻璃面积 I'm going to the party___(hold)at Simith's home this evening if i am free.为什么要用to be held? she is going to the cinema( )Sunday evening. A.on B./ C.in 在农业生产上过多施用化肥,不会出现的结果是化肥被雨水冲到湖泊或池塘中引起藻类等大量繁殖化肥大量进入湖泊池塘引起水中缺氧大量鱼虾死亡过多的化肥造成土壤板结,农作物正常生长 why do you like it?给个英文回答 已知直线y=kx+k-1和直线y=(k+1)x+k(k是正整数)及x轴围成的三角形面积为Sk,则S1+S2+...+S2006的值是多少? 一张长方形的办公桌,桌面长14分米、宽7分米要配上同样大小的玻璃,这块玻璃的面积是多少? -Are you going to the party_at Smith's home this evening?-I will if I am freeA、holding B、held C、to hold D、to be held 答案是D为什么啊 这是什么昆虫,对人体有害吗? 不施用化肥的设想有哪些 why do you like it?中文意思是什么sssssssssss 2.设直线L1:y=kx+k-1和直线L2:y=(k+1)x+k (k为正整数)及 x轴围成的三角形面积为Sk,2.设直线L1:y=kx+k-1和直线L2:y=(k+1)x+k(k为正整数)及 x轴围成的三角形面积为Sk,求S1+S2+S3+…….+S2011的值. 鸡蛋怎样孵化成小鸡 there is a big party at mr.smith's home on saturday evening .一份完形填空!急用! 设直线y=kx+k-1和直线y=(k+1)+k(k是正整数)及x轴围成的三角形面积为Sk,则S1+S2+S3+.+S2006的值是? 女孩子几岁上一年级 Do you like it?why ? 意思‘‘ 鸟蛋颜色大小不一,但结构都一样我想知道鸟蛋是怎样孵出小鸡的?为什么不属于科学问题.课堂上我们一般会根据情景及生活经验,提出明确而科学的问题. 现在的孩子几岁上一年级更合适? Are you going to the party to be held at Smith's home 为什么用to be held 一个鸡蛋有可以孵出两个小鸡的吗. 一般小孩子几岁上一年级准确一点 Why do you like it? 食堂运来一批面粉,每天吃20份之1吨,12天后还剩这批面粉的3份之2.运来的面粉有多少吨? Which would you rather______,Tea or coffee?A./B.drinkwould rather能直接跟名词吗?搞不懂B怎么错了 Why do you like it best?怎么回答? 想问一下这是什么昆虫,对人体有害吗? 有一张方桌,桌面的边长是8分米,要配上一块与桌面同样大的玻璃,这块玻璃的面积是多少平方分米. 爱国人物的故事 一定要简短的,我要在3分钟演讲的!50~100字 请问下这是什么昆虫?对人体有害么 Do you and your sister look different?N0---------------------的回答 爱国的人物 事迹 小孩几岁上一年级比较好我儿子2005年9月23日出生,声母、韵母都学完了,而且10以内的分成都学完了,11+15之类的计算能求. ---Do you and your sister look the same?(做否定回答)《初一题目》 ---NO,()().我们老师说是填they don‘t.我感觉有点不对劲, 找个爱国主义人物或事例!简短一些!不要太长! 小孩子几岁上一年级比较好 You and your sister look the same.改为一般疑问句做否定回答 AB两地相距7200米,甲、乙分别从AB两地同时出发,结果在距B地2400米处相遇,如果乙的速度提高到原来的3倍,那么两人可提前10分钟相遇,则甲的速度是每分钟行多少? 大家都知道,鸡蛋可以孵小鸡,但,双黄蛋可以吗,它能孵几只小鸡呢?有特殊情况吗?那有谁知道金刚葫芦娃,小矮人们,仙女们都是七个.这是为什么? ( )35.Which do you like ________ ,tea or coffee?A.well B.good C.better D.best为什么是C? 两地相距360km.客车和货车同时从两地相对开出,4.5小时相遇,客和货速度的比是5:3,货车每小时行多少米? 双黄蛋可以孵出小鸡吗?为什么
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘