明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1498|回复: 7

一个奇怪且郁闷的问题!!

[复制链接]
发表于 2003-11-17 09:51:00 | 显示全部楼层 |阅读模式
我在做VBA程序时 原来好好的程序 过了几天再运行 发现一个奇怪的问题 原先没有定义的变量居然要定义 提示为:“编译错误:缺少函数或变量”  例如原先有个变量i 做 for i = 0 to 10; i原先不需要定义 可现在要了这是怎么回事呢?
发表于 2003-11-17 11:58:00 | 显示全部楼层
如果在程序中包含有:Option Explicit,表示强制显式声明模块中的所有变量。
在工具-选项中的“要求变量声明”之前打勾,以后就会自动加上这一句。

  1. Option Explicit 语句
  2.       

  3. 在模块级别中使用,强制显式声明模块中的所有变量。

  4. 语法

  5. Option Explicit

  6. 说明

  7. 如果使用,Option Explicit 语句必须写在模块的所有过程之前。

  8. 如果模块中使用了 Option Explicit,则必须使用 Dim、Private、Public、ReDim 或 Static 语句来显式声明所有的变量。如果使用了未声明的变量名在编译时间会出现错误。

  9. 如果没有使用 Option Explicit 语句,除非使用 Deftype 语句指定了缺省类型,否则所有未声明的变量都是 Variant 类型的。

  10. 注意 使用 Option Explicit 可以避免在键入已有变量时出错,在变量的范围不是很清楚的代码中使用该语句可以避免混乱。
 楼主| 发表于 2003-11-17 12:53:00 | 显示全部楼层
但是我没有用Option Explicit 啊 在工具-选项中的“要求变量声明”之前也没有打勾啊
关键是原来好好的 现在不能用了啊
发表于 2003-11-17 12:59:00 | 显示全部楼层
呵呵,我也遇过这种情况,不知道是什么回事
发表于 2003-11-17 13:11:00 | 显示全部楼层
还有一种情况,可能是与VBA的版本有关吧。
以前碰到类似的,CAD安装的是AutoCAD R2000,它的VBA是5.0版本的。而Office安装的是Office 2000,它的VBA是6.0版本的。
可能是这两套软件的VBA版本不一样,经常会出现一些内部函数没有定义的问题。可能是微软对于版本的控制不是太好。
 楼主| 发表于 2003-11-17 20:22:00 | 显示全部楼层
哦 原来如此啊
是不是2002和2004 就没有这种问题了啊
发表于 2003-11-17 21:39:00 | 显示全部楼层
R2002和R2004的VBA版本都是6.0的,没有区别。
发表于 2003-11-18 00:04:00 | 显示全部楼层
不过程序中的变量最好声明一下比较好,要不然程序一大哪里错了都不知道!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 13:55 , Processed in 0.180529 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表