编译错误:常数、固定长度字符串、数组、用户定义类型以及declare语句不允许作为对象模块的public成员?

编译错误:常数、固定长度字符串、数组、用户定义类型以及declare语句不允许作为对象模块的public成员?为什么会出现这个错误提示?程序代码位:OptionExpli... 编译错误:常数、固定长度字符串、数组、用户定义类型以及declare语句不允许作为对象模块的public成员?
为什么会出现这个错误提示?
程序代码位:
Option Explicit
Declare Sub sleep Lib "kernel32" (ByVal dwmilliseconds As Long)
Public Sub main()
Dim delay As Long
Debug.Print Format(Time, "long time")
sleep (5000)
Debug.Print Format(Time, "long time")

End Sub
增加个public还是不行
展开
 我来答
281011131
推荐于2018-03-20 · TA获得超过1314个赞
知道小有建树答主
回答量:617
采纳率:0%
帮助的人:909万
展开全部
常数、固定长度字符串、数组、自定义类型与 Declare 语句不能是对象模块中的 Public 成员

并非所有对象模块中的变量都可声明成 Public。然而,按缺省规定,过程是 Public,且 Property 过程在语法结构上可模拟变量。这个错误的起因与解决方法如下所示:

在对象模块中声明了一个 Public 常数。
虽然不能在对象模块中声明 Public 常数,但可以创建一个同名的Property Get 过程。若不能创建同名的 Property Let 或 Property Set 过程,实际上创建了一个只读属性,其用法与常数相同。

在对象模块中声明了一个 Public 类型的固定长度字符串。
可用一组 Property 过程仿真固定长度字符串,并截掉超出长度的字符串数据,或通知用户超出长度。

在对象模块中声明了一个 Public 数组。
虽然过程不能返回数组,但可返回一个包含数组的 Variant。要仿真类模块中的 Public 数组,可用一组Property 过程,它们接受与返回包含数组的 Variant 。

在对象模块中放了一个 Declare 语句。
Declare 语句隐含着公用的意思,可在 Declare 语句之前加上一个 Private 关键字。
黎明海之凯歌
2018-12-04
知道答主
回答量:1
采纳率:0%
帮助的人:803
展开全部

并非所有对象模块中的变量都可声明成 Public.以下是微软技术文档的说明:

Constants, fixed-length strings, arrays, user-defined types, and Declare statements not allowed as Public members of an object module

object module的说明:

网页链接


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式