上一节课我们用一个简单的公式把角度转化为弧度,这样做便于大家理解。不过VBA中有现成的方法可以转换数据类型。 我们举例说明:jd = ThisDrawing.Utility.AngleToReal(30, 0)这个表达式把角度30度转化为弧度,结果是.523598775598299。AngleToReal需要两个参数,前面是表示要转换角度的数字,而后面一个参数可以取值为0-4之间的整数,有如下意义:0:十进制角度;1:度分秒格式;2:梯度;3:弧度;4:测地单位例:id= ThisDrawing.Utility.AngleToReal("62d30' 10""", 1)这个表达式计算62度30分10秒的弧度 再看将字符串转换为实数的方法:DistanceToReal需要两个参数,前一个参数是表示数值的字符串,后面可以取值1-5,表示数据格式,有如下意义:1:科学计数;2:十进制;3:工程计数——英尺加英寸;4:建筑计数——英尺加分数英寸;5:分数格式。例:以下表达式得到一个12.5的实数temp1 = ThisDrawing.Utility.DistanceToReal("1.25E+01", 1)temp2 = ThisDrawing.Utility.DistanceToReal("12.5", 2)temp3 = ThisDrawing.Utility.DistanceToReal("12 1/2", 5)而realtostring方法正好相反,它把一个实数转换为字符串。它需要3个参数第一个参数是一个实数,第二个参数表示数据格式,含义同上,最后一个参数表示精确到几位小数。temp1= ThisDrawing.Utility.RealToString(12.5, 1, 3)得到这个字符串:“1.250E+01”, 下面介绍一些数型转换函数:Cint,获得一个整数,例:Cint(3.14159) ,得到3Cvar,获得一个Variant类型的数值,例:Cvar("123" & "00"),得到”12300”Cdate,转换为date数据类型,例:MyShortTime = CDate("11:13:14 AM") 下面的代码可以写出一串数字,从000-099。 Sub test() Dim add0 As StringDim text As StringDim p(0 To 2) As Doublep(1) = 0 'Y坐标为0p(2) = 0 'Z坐标为0For i = 0 To 99 '开始循环 If i < 10 Then '如果小于10 add0 = "00" '需要加00 Else '否则 add0 = "0" '需要加0 End If text = add0 & CStr(i) '加零,并转换数据 p(0) = i * 100 'X坐标 Call ThisDrawing.ModelSpace.AddText(text, p, 4) '写字 Next i End Sub 重点解释条件判断语句:If 条件表达式 Then ……Else……End if 如果满足条件那么程序往下执行,到else时不再往下执行,直接跳到End if后面如果不满足条件,程序跳到else后往下运行。 Call ThisDrawing.ModelSpace.AddText(text, p, 4) '写字这是写单行文本,需要三个参数,分别是:写的内容、位置、字高

评论