找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 424|回复: 5

[VBA程序]:恳请请大侠指正!

[复制链接]
发表于 2004-11-13 12:07:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的程序运行出错提示:
”运行时错误“5“
无效的过程调用或函数。”
恳请请大侠指正:
Public Sub dattotext()
ThisDrawing.Application.Documents.Add
Dim ptx(0 To 100) As Double
Dim pty(0 To 100) As Double
Dim ptz(0 To 100) As Double
Dim firstPoint(0 To 2) As Double '定义插入点
Dim secondpoint(0 To 2) As Double
Dim trdpoint(0 To 2) As Double
Dim dianshu As Integer
Dim textHeight As Double '定义文本高度
Dim text1  'As String '定义文本字符
Dim text2
Dim text3
Dim textObj As AcadText '定义文本对象
Dim textObj1 As AcadText
Dim textObj2 As AcadText
Open "E:\data\dtt.txt" For Input As #1
n = 1
i = 1
Do Until EOF(1)
   Input #1, ptx(i), pty(i), ptz(i)
    i = i + 1
  dianshu = i - 2
Loop
Close #1
For i = 1 To dianshu
firstPoint(0) = ptx(i) '设定插入点X坐标
firstPoint(1) = -200 '设定插入点Y坐标
firstPoint(2) = 0 '设定插入点Z坐标
secondpoint(0) = ptx(i)
secondpoint(1) = -210
secondpoint(2) = 0
trdpoint(0) = ptx(i)
trdpoint(1) = -220
trdpoint(2) = 0
textHeight = 2.5 '设定文本高度
text1 = pty(i) '设定文本字符
text2 = ptx(i)
text3 = ptz(i)
Set textObj = ThisDrawing.ModelSpace.AddText(text1, firstPoint, textHeight)
Set textObj1 = ThisDrawing.ModelSpace.AddText(text2, secondtPoint, textHeight)
Set textObj2 = ThisDrawing.ModelSpace.AddText(text3, trdpoint, textHeight)
Next i
End Sub
dtt.txt:
40595.850         5.783         27.799
40565.850         5.663         28.369
40535.850         5.543         28.939
40510.850         5.443         29.414
40480.850         5.400         29.984
40450.850         5.400         30.554
40380.850         -0.692         31.591
40260.850         -0.255         32.216
40140.850         2.154         31.869
40070.850         5.317         31.099
40040.850         5.137         30.769
40010.850         4.957         30.439
39980.850         4.789         30.109
39950.850         4.699         29.779
39920.850         4.609         29.449
39890.850         4.519         29.119
39860.850         4.452         28.789
39830.850         4.392         28.459
39800.850         4.332         28.109
39770.850         4.300         27.624
39740.850         4.300         27.114
39710.850         4.300         26.604
39680.850         4.298         26.094
39650.850         4.283         25.584
39620.850         4.268         25.074
39590.850         4.253         24.564
39560.850         4.238         24.054
39530.850         4.222         23.544
39500.850         4.207         23.093
39470.850         4.200         22.816
39440.850         4.200         22.606
39410.850         4.281         22.396
39380.850         4.521         22.186
39350.850         4.761         21.976
39321.000         5.000         21.766
39290.850         5.754         21.556
39238.350         3.332         21.188
39158.350         0.116         20.494
39078.350         2.780         18.779
39025.850         5.061         17.466
38999.400         4.892         16.805
38972.950         4.760         16.144
38942.950         4.610         15.394
38912.950         7.279         14.662
38882.950         5.679         14.083
38856.500         5.645         13.694
38831.500         5.613         13.334
38806.500         4.500         12.974
38781.500         4.500         12.614
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-11-13 14:44:36 | 显示全部楼层
Set textObj1 = ThisDrawing.ModelSpace.AddText(text2, secondtPoint, textHeight

secondtPoint系笔误
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-13 16:10:00 | 显示全部楼层
*-*4 ,十分感谢版主,l我是刚学vba的,对自己编的程序没有信心。请以后不吝赐教。版主的作品我看了好多,真是十分崇拜!!

我想把按照上述方法写入的文字旋转90度。
Set textObj = ThisDrawing.ModelSpace.AddText(text1, firstPoint, textHeight)
text0bj.Rotate = 1.57
text0bj.Update
Set textObj1 = ThisDrawing.ModelSpace.AddText(text2, secondpoint, textHeight)
Set textObj2 = ThisDrawing.ModelSpace.AddText(text3, trdpoint, textHeight)
但是运行出错:编译错误,参数不可选。这时怎么回事?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-14 11:40:18 | 显示全部楼层
text0bj.Rotation = Atn(1) * 4
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-11-15 22:35:57 | 显示全部楼层
text0bj.Rotation = Atn(1) * 4表示什么含义?
我试了是旋转180度,其实我想旋转90度,于是我改了一下:text0bj.Rotation = Atn(1) * 2,真的实现了转90度。但是我不理解具体含义,请版主指导一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-11-16 08:35:18 | 显示全部楼层
Atn()是反正切函数,返回值为角度的弧度值
Atn(1)即45度的弧度
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-29 07:29 , Processed in 0.197124 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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