AUTOCAD VBA问题if/赋值参数等
本帖最后由 X_Ame甜心珍妮 于 2015-12-26 11:55 编辑自学cad的vba...有很多问题求教!目前的题目是:用户可在窗体选择不同的参数(长l,宽w)这两个参数又控制图形其他参数(e,h,j等)然后根据这一组参数值绘图。现在绘图部分的代码已完成。就是在窗体设计和编程遇到了问题...真心求教!!!
1.←整体窗体,参数代码为
Public l As Integer, w As Integer ‘不知道这样定义l和w是否为全局变量定义?
Private Sub W35_Click()
If W35.Value = True Then
w = 35 ‘不知道这个w=35可不可以适用于其他的模块中?
MsgBox "请选择参数L"
end if
end sub
Private Sub L75_click()
If L75.Value = True Then
l = 75
End If
End Sub
2.点击绘图按钮,代码为
If w <> 0 And l <> 0 Then ’判断l和w有没有选中...
Call zz ’zz是主视图的代码
Else
MsgBox "请正确选择参数!"
End If
End Sub
【问题1】不知道怎么把窗体中赋值的w和l应用于其他模块
【问题2】我要写if w=35 and l=75 then e=xx,h=xx,j=xx end if 这一段要写在哪里?是写在窗体代码里吗?我如果把它写到了绘图代码(zz)里,那zz就没法运行。有个大神告诉我要用Sub zz(ByVal w,ByVal l)来做,可是我这样写就会报错。且我有好几副图(就是xx(), yy()等都在这个if w=35 and l=75 then e=xx,h=xx,j=xx end if,所以想把它设定成全局的...但是不知道该怎么搞...
【问题3】我第2点的代码对么?我就直接call zz了可以画出我要的zz图,那我想要画3幅图(xx,yy,zz)是否可以
call xx
call yy
call zz
这样?
【新问题4】话说再请问一下,我可以直接把if w=35 and l=75 then e=xx,h=xx,j=xx end if这一段写到窗体代码里面么?然后将所得到的w,l,e,h,j带到绘图模块里?
我的问题比较多希望好心人可以帮助我学习!!!!非常感谢!!!!!!!!!!! 【问题1】不知道怎么把窗体中赋值的w和l应用于其他模块
全局变量应该定义在Module中
【问题2】if w=35 and l=75 then e=xx,h=xx,j=xx end if
e,h j是全局变量吗?你可以新建一个sub,有使用zz之前,把需要数据(e h j)都安排好!
【问题3】
画多幅类似的图,最好用数组传参数!
for i=0 to ubound(xx)
call zz(xx(i))
next i zzyong00 发表于 2015-12-26 11:35 static/image/common/back.gif
【问题1】不知道怎么把窗体中赋值的w和l应用于其他模块
全局变量应该定义在Module中
【问题2】if w=35 a ...
1.w,l,e,h,j都是全局变量,定义在module中是。。。?新建sub qq()然后把dim w,l,e,h,j等和
if w=35 and l=75 then e=xx,h=xx,j=xx end if都放在里面,然后在画图的时候直接call qq()这样行么?我之前试过但是不知道是不是call用的不对...运行不了...
2.关于数组传参数我会自行百度学习的!
非常感谢!!! 如果都全局变量,就定义在module最上面,不要放在任何函数、过程里!
在qq()里,只是给w l e h j 赋值! zzyong00 发表于 2015-12-26 11:58 static/image/common/back.gif
如果都全局变量,就定义在module最上面,不要放在任何函数、过程里!
在qq()里,只是给w l e h j 赋值!
多谢!!!!!!!问题已经解决啦!!!!!!!!
页:
[1]