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

加速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" 将是最佳选择。
细说JavaScript异步函数发展历程 YoMail创始人Albert Yang:我与Email交织的程序人生 TIOBE 2015年9月编程语言排行榜:时髦语言Rust进前50 50张999元限量特惠票!SDCC2015软件开发嘉年华 首批讲师名单公布 百度安全:XcodeGhost大爆发可能只是冰山一角 北京市计算中心云计算转型:缘定OpenStack MDCC 2015移动开发者大会 八大技术专场首批议题剧透 Apple TV指南:从零开始用Swift开发个tvOS应用 React Native、开源:MDCC平台与技术Android专场全揭秘! 相约MDCC 2015 首批免费展位破茧而出 MDCC 2015召开在即,平台与技术iOS专场大咖来了! 一个iOS开发者对tvOS SDK的初探 前Twitter iOS技术团队负责人:使用第三方库的四大准则 【SDCC讲师专访】巨杉数据库创始人兼CTO王涛:SequoiaDB为何要开源? 对话函数式编程语言Roy之父Brian Mckenna GitLab获400万美元A轮融资,GitLab 8.0将很快到来 【CTO讲堂】如何构建高可用和可伸缩的架构? 未来程序员会被机器取代吗? React Native实战(一):配置和起步 集聚MDCC 2015 免费展位第二波正式放出 【深入浅出Koa】入门知识,带你以现代化开发方式构建Web应用 升级到Node V4的七个理由 支持大量ES6特性 像写SQL一样编写Java数据应用 Swift 2.0实战:如何实现从非零下标遍历数组? 手把手教学:在iOS 8中使用Cocoapods 交互技术前沿与应用实战:MDCC虚拟现实专场议程揭晓 解密“攻城狮使用手册” 技术专家齐聚!MDCC 2015精彩日程全曝光 基于ActiveMQ的消息中间件系统 OneMM逻辑与物理架构设计详解 John Carmack大神亲操刀,为Oculus开发Netflix应用 React Native实战(二):Android的打包 怎样利用Dev-C++自带的DDK开发windows下的驱动程序? 我绝得很难,不知道你觉得呢?? 大家用过网络助手吗?感觉怎样?PCANYWHERE界面不好,远程桌面不能一起操作 层的定位问题! 高分求 在vc中,怎样使用dll(也有idl)文件呢。请指教。 com入门问题 怎么把用程序加入的控件建立事件呢?高手请进! ADO问题:这样的也会报错,高手解释一下!急,在线等待!!!! 如何用VC给Word加载页眉页脚???? 数据挖掘 急需VC++的高手指点一下,北京的最好,呵呵,成了请你吃饭! 98下的闪存问题 在线等~~~~~~~~ 文件的问题 谁来看看,好难啊 关于oracle数据打包的问题 SQL出错了...以前装好一次..不知道被谁搞了,启动不起了..我重装..就这样了 急!!!为什么的为加了<% %>,传 上去就不能打开呢?去掉又可以的,改成客户端运行又可以 如何将服务器a里mysql的所有数据导道服务器b中? 动网论坛6问题:论坛版面信息(版名、斑竹、版面说明)经常自动丢失 大家帮帮我!!!!!!!!!!!!!!! 数据仓库与数据库 动态创建的列和手工填加的列有什么不同吗? SQL语句中openrowset函数的问题?12点以前结帖,在线等待!!!!!!!!!!!!!!!!! 请问在win2000server中对于ftp设置... Promise真的是混蛋!B死他!(驱动高手帮忙) 客户端怎么封装数据库? 谢谢 杀不出毒,机子还很慢,请大家看看 急啊!系统有问题! 请问怎样知道自己程序的某个DLL是否已经加载? 将数据导出到excel,同名文件自动覆盖应该怎么做? 求教高手! 制作发邮件程序出错,高手请教! 求助高手:在JavaScript中如何赋值给父窗体上的某一ASPX控件? 菜鸟的问题 怎么web页面控制打印范围? 推箱子的每一关是用算法算的,还是人编的? 为什么北京的高程准考证到现在还没有发呀??? 谁有类似万网的域名查询系统??高分相送! 我想搞软件开发,学点网络知识,请问有多大用处? 在ASP.Net中,用VB.net写代码,怎么取得到的记录集中的记录个数啊? 请教双网隔离方案 重装系统以后,如何对Microsoft Outlook里的各种参数、选项进行设置? 求OA设计方案 请 ychuiming(飞天),hkbarton(宁静至远||淡泊明志) 进来接分 在ASP.Net中,用VB.net写代码,怎么取得到的记录集中的记录个数啊? pb中有没有与或操作符?就象VB中的Xor这类操作符? 如何从一个单一的JSP程序员迈进J2EE的世界--请高手指点迷津 第一次来csdn,请各位多多关照。随便问一个巨傻的关于BDE的问题。 离职,却被原来公司经理阴了一下 求AutoResize控件(分不够可加) 英语翻译关于这些硅胶订单,我们是否仍然需要进行FDA测试?如果是,我想现在是个好的时机,请告知测试样板所需要的数量.对于这些颜色样板,我看到在图纸的下方贴有一个PANTONG#,你能告诉我这 英语翻译译:我暑假将要结束了我将要开学了 如何翻译what a lift to know there are still honest,caring people out there! 如何改这个Button为a href? asp中button触发改成的JS触发asp_王乐(312300491) 15:12:59asp_王乐(312300491) 15:13:29asp_王乐(312300491) 15:13:54input的触发如何改成链接的触发呢?button触发改成链接触发有个问题,这样写完以后页面不跳转,直 Somewhat better ( ) academically,he returned home to continue his experiment.A.furnished B.equipped C.provided D.installed 用模拟按钮的问题用模拟按钮,当点击以后响应一个onclick事件,如果页面很长的话,而按钮又在页面底部的话,点击按钮以后页面会回到顶部,而不是停留在原来的位置,请问大家是怎样处理的?比 请翻译这句话:Somewhat better (equipped ) academically,he returned home to continue his experiment. 也许你有一天会发现,那个人并没有你想象中那么好.但你现在不要害怕,因为有些东西是值得的 什么样的东西可以给人温暖的感觉? 请问深圳哪里有skin food和free plus的专柜?想买skin food和free plus的东东,但不知道哪里有专柜,如果没有专柜,有正品的店也可以,请知道的JMS推荐一下.另外还想知道哪里有卖泉润和雅格丽白的化妆 “窃听门”在哪里刺伤了美欧关系?中国和塞浦路斯签协定保护文化财产宠物犬被指与主人长得像 日学者称关键JAEA报告称福岛核电站附近森林核辐法国拟试行按剂量出售抗生素以减少药物沙特女性抗议者拟无视政府禁驾令“顶风美称监听欧洲公民的是欧情报机构 美只美科学家称“亚洲鲤鱼”大量繁殖威胁当中国军舰经与那国岛毗邻区返航 日防相意大利比萨斜塔修复见成效 12年扶正欧洲风暴肆虐 高校推风暴命名项目收费无锡供电排查高压用户缺陷隐患皮带开裂衣服旧 受贿千万藏囊中航天迷约会太阳能飞机市民“五一”踊跃献血阿拉伯特种地面部队进入也门青海下北山“卖血村”里看变迁雪枫大学 旧址展馆开放城乡医院新合作 实现“大病不出县”中国乒协首设终身成就奖 徐寅生李富荣两岸经贸文化论坛在沪举行烟花三月扬州梦 十年扬马展风采梦想口袋官路旖旎传奇打工者洪荒之亘古捉鬼高校洪方重生之攻受兼备天谴鸿沟天仇霸圣明神梁皇山旅游浐灞生态区旅游保定军校旅游舒家湾天主教堂旅游旧州塔旅游流杯池旅游合江门旅游蜀南竹海博物馆旅游真庆观旅游聂耳墓旅游九站公园旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘