用VB 编写了一段控制代码 但运行是提示 无效外部过程

PublicPAsLongPublicUAsIntegerPublicWAsIntegerSetP=U/WIfP>30ThenSetW=W-0.01OrU=U+0.01I... Public P As Long
Public U As Integer
Public W As Integer
Set P = U / W
If P > 30 Then
Set W = W - 0.01 Or U = U + 0.01
If P < 30 Then
Set W = W + 0.01 Or U = U - 0.01
End If
End If
Else
End
展开
 我来答
zdingyun
2015-11-21 · 知道合伙人软件行家
zdingyun
知道合伙人软件行家
采纳数:15429 获赞数:48174
1982年上海业余工业大学化工系毕业 现退休

向TA提问 私信TA
展开全部

在过程外无效

该语句必须发生在子过程、函数过程或属性过程(老行Property Get、Property Let 和
Property Set)内部。这个错误的起因与解决方法如下所示:

  • 一个可执行的语句,如 Static 或 ReDim,出现在模块级别中。

在模块级中 Static 是不需要的,因为所有的差含州模块级变量都是静态的。在模块级中用 Dim 来代替ReDim。想要在模块级中创建动态数组,请用 Dim 加空括弧来声明它。

注意 在模块级只能使用虚蔽注释与声明性语句,例如 

Const、Declare、Deftype、Dim、Option Base、Option
Compare、Option Explicit、Option
Private、Private、Public 和
Type。子过程、函数过程和属性过程语句发生在它们的过程体之外,但在过程内声明。

详细信息,请先选取有疑问的项目,然后按下 F1 键。

百度网友ba88284
2013-05-20 · TA获得超过1521个赞
知道大有可为答主
回答量:1822
采纳率:73%
帮助的人:575万
展开全部
首先,请确定亲使用的是VB、
这个语法貌似是QBASIC等贺春渣等的语森敏法。VB是基于事件驱动禅悄的设计语燕。亲这个根本没有事件
追问
定义全局变量
追答
Set W = W - 0.01 Or U = U + 0.01
这句话表达什么意思?我从未见过这种语法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shxuy
2013-05-20 · TA获得超过190个赞
知道小有建树答主
回答量:195
采纳率:100%
帮助的人:101万
展开全部
问题可能出在倒数第二行的Else上。
请问楼主为什么要在这里写一句Else?
追问
P=30 的结束啊  错误指在第四行。。
追答
我明白了。
原来set是用来为对象变量赋值(关键词在对象变量)
对于VB的编译器而言,它无法辨别出P是个对象变量,所以出错。
怪只能怪编译器上。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
x11xuu
2013-05-20 · TA获得超过597个赞
知道小有建树答主
回答量:570
采纳率:0%
帮助的人:520万
展开全部
不知道是什么样的运行环境,就单纯的VB来说,败孝伍以上代码有这些错误:
1.第4句:不能用Set,Set用于对象赋值,而P只是长整型慎举;
2.第4句:U和W没有赋值,这里除法会产生错误;
3.第4句:之后的代码应放在函数和方法中,这里应插入sub subName()
4.第6句:没有这种语法,可能是W=W-0.01:U=U+0.01
5.第7句:这里语句的顺序有问题,导至后面一句永不可能执行。应将后面的END if插入7句之前
6.第8句:同4项
7.第察或11句:这里多了一个Else,前面的IF已经全部关闭
8.最后应与第3项对应插入END Sub

如果是某种特殊运行环境,则另当别论。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syx54
2013-05-20 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2736万
展开全部
你用的伏雀是什么版氏樱本?
Set P = U / W
应该用
P = U / W
但是,U 和W没有赋值?缺核早
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式