Access911.net   |   a9BBS   |   OTaA System  
  搜索文章:  
Access911欢迎您光临  
   主页      上传      繁體版       论坛     
设为首页  |  加入收藏   
  
你现在的位置:文章索引 -> 文章分类 -> VBA  
 首页|  近日更新|  下载  |  文章索引  |  搜索|  术语|  承接工程|  
 
系统正在加载内容,请耐心等待...
 
 查询
 窗体
 报表
 
 
 VBA
 函数
 ADO/DAO/ADO.NET
 API
 ADP
 安全
 发布
 OA
 ASP/ASP.NET
 其他语言
 控件
 DELPHI
 C#/.Net
 本站
 其他
 小例程
 常用软件
 参考文档
 业主作品
 网友大作
 
 
友情链接
 access911.net
 
访问人次
 1701964
 
站长 E-Mail
 net911@sina.com
 access911@gmail.com
 
RSS 订阅

显示附加信息 >>>

VB VBA 中感叹号(!)与(.)句号的区别

作者:cg1  摘自:access911.net  :cg1  更新日期:2006-11-5  浏览人次:

 

问题:

VB VBA 中感叹号(!)与(.)句号到底有啥区别?

 

回答:

cg1 的解释:
句号和感叹号最大的区别在解析时间。
如果用句号,那么就是早期绑定,也就是在VBA编译的时候就进行解析,因此你可以用智能提示。
用感叹号则是运行时绑定,也就是运行时解析。
因此理论上来说,句号的性能应该比感叹号要好,原因就是句号是早期绑定。但是目前还没人能写项目代码多到可以区别出句号和感叹号的性能差异。

以下示例你可以试验一下:

form_窗体名.一个根本不存在的控件名

上述这种语句是根本无法编译通过的。


form_窗体名!一个根本不存在的控件名

上述这句却可以编译通过。

以上是唯一一段能找到的简体中文正确解释VBA句号和感叹号区别的资料。


英文资料你可以参考cg1的日志:http://www.accdb.net/article.asp?id=1571


cg1 认为下面这种描述是错误的!


网络上有很多,实在不想重复了,但是还有N多人问,没办法,再贴一篇过来吧

在Visual Basic中,惊叹号“!”与圆点“.”都用于给对象命名,但两者语法上却存在很大的区别,这点在编程时尤其需要注意。   
圆点操作符“.”用来表示对象的属性和方法,在引用时,需要用到对象的Name、圆点和需要的属性或方法。例如要引用文本框Textl中的文本属性时可用reponse$=Text1.Text,再如要改变Form1窗体返回或读取对象高度的单位时用Form1.ScaleHeigh=2000表示。   
感叹号“!”常用于当一个控件作为一个特性访问的情况下,例如引用Fomr2中Text1文本框文本属性时,可采用response$=Form2!text1.text语法格式。   
虽然两者的语法应用结构有较大差异,但两条语句的性能是相同的,值得注意的是如果你在感叹号“!”的位置使用“.”可以获得对窗体上Text1特性的直接访问权,为了进一步增加感性认识,你不妨运行下面的例子来试试。   
1、建立一个新项目,并在Form1窗体中增加一个命令控件。   
2、双击Form1窗体,编辑FormLoad事件并输入:   
Form1!Command1.Caption="Text"
Form1.Command1.Caption="It   Works"
3、运行试项目,这时你就会在Command1命令框中看到字符串It   Works。   
了在程序中清楚地界定引用的控件名和该控件的属性或方法,增加程序的可读性,最好使用感叹号“!”   
      

 

本站文章旨在为该问题提供解决思路及关键性代码,并不能完成应该由网友自己完成的所有工作,请网友在仔细看文章并理解思路的基础上举一反三、灵活运用。

access911.net 原创文章,作者本人对文章保留一切权利。
如需转载必须征得作者同意并注明本站链接

 

 
相关文章
     没有手动相关文章
 
评论
     查看或发表更多的评论,请单击这里。
 
 
 
 
 
   
  Access911.net   |   a9BBS   |   OTaA System   |
建站日期:2000年4月2日  |  设计施工:陈格 ( access911 & cg1 )
 Copyright © 2000 - 2003 COMET, 陈格 保留所有权利