slsldu 发表于 2006-3-14 15:57:00

这几行代码为什么不行?


Sub test()
sp = "0,0": ep = "100,100"
ThisDrawing.SendCommand "(command ""move"" ""all"" """" """ & sp & """ """ & ep & """)" & vbcr
End Sub

雪山飞狐_lzh 发表于 2006-3-14 17:16:00

slsldu,你的代码没有问题啊.我运行的代码如下:
Sub main()
qs = "0,0"
hs = "100,100"

ThisDrawing.SendCommand ("move" & vbCr & "all" & vbCr & vbCr)
ThisDrawing.SendCommand (qs & vbCr & hs & vbCr)
End Sub

一切正常,你再检查传入的Zpoint值是不是正确......

slsldu 发表于 2006-3-15 09:22:00

vbCr是什么意思啊?

xinghesnak 发表于 2006-3-15 09:24:00

slsldu,你的代码有问题,就是下面这里:
qx = Str(point1(0)): qy = Str(point1(1))
hx = Str(point2(0)): hy = Str(point2(1))

你监视一下就看到上面四个变量在双精度转字符的时候,产生了多余的空格,这样你在下面sendcommand时,相当于多敲了回车,所以总是出错,建议改成下面:
qx = Trim(Str(point1(0))): qy = Trim(Str(point1(1)))
hx = Trim(Str(point2(0))): hy = Trim(Str(point2(1)))
这个是str函数的说明:
Str(number)
必要的 number 参数为一 Long,其中可包含任何有效的数值表达式。
说明
   当一数字转成字符串时,总会在前头保留一空位来表示正负。如果 number 为正,返回的字符串包含一前导空格暗示有一正号
这就没问题啦!
页: [1]
查看完整版本: 这几行代码为什么不行?