资源描述:
《ExcelVBA在工程测量上的应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ExcelVBA在工程测量上的应用摘要:Excel是大家很熟悉的办公软件,相信大家在工作中经常使用吧。在测量工作中,你是否感觉到有很不方便的时候?比如,计算一个角度的三角函数值,而角度的单位是60进制的,此时,你一定感到很无奈,因为,Excel本身无法直接计算60进制的角度的三角函数!还有,如果你的工作表中有了点坐标值(二维或者三维),要在CAD中展绘出来,怎样才能又快又直接?不然,就只有拐弯摸角了,很痛苦啊!其实,只要对Excel进行一些挖掘,就可以发现Excel的功能我们还没有好好的利用呢。Excel本身提供了强大的二次开发功能,只要我们仔细的研究,没有
2、什么能难倒我们的。下面,好好笔者将带你走近Excel,认识它的强大的二次开发环境VBAIDE,用它来解决上面所提到的问题,就非常容易了。关键词:ExcelVBA工程测量12Excel是大家很熟悉的办公软件,相信大家在工作中经常使用吧。在测量工作中,你是否感觉到有很不方便的时候?比如,计算一个角度的三角函数值,而角度的单位是60进制的,此时,你一定感到很无奈,因为,Excel本身无法直接计算60进制的角度的三角函数!还有,如果你的工作表中有了点坐标值(二维或者三维),要在CAD中展绘出来,怎样才能又快又直接?不然,就只有拐弯摸角了,很痛苦啊!其实,只要对Exc
3、el进行一些挖掘,就可以发现Excel的功能我们还没有好好的利用呢。Excel本身提供了强大的二次开发功能,只要我们仔细的研究,没有什么能难倒我们的。下面,好好笔者将带你走近Excel,认识它的强大的二次开发环境VBAIDE,用它来解决上面所提到的问题,就非常容易了。 初识VBAIDE,首先,你必须懂得一些简单的VB编程常识。如果不懂就只有通过其他的途径去学习了。但用不着深入的研究,只要静下心来,几个小时就可以了。 打开Excel,按Alt+F11即进入VBAIDE,学过VB的人一看就知道那就是熟悉的VB界面。下面看看如何定义一个函数,然后利用它来解决6
4、0进制的角度的三角函数计算问题。在菜单上依次点击[插入]->[模块],然后输入如下代码PublicConstpi=3.14159265359PublicFunctionDEG(nAsDouble)DimAAsDouble,BAsDouble,CAsDouble,DAsDouble,EAsDouble,FAsDouble,GAsDouble,KAAsDoubleD=Abs(n)+0.000000000000001F=Sgn(n)A=Int(D)B=Int((D-A)*100)C=D-A-B/10012DEG=F*(
5、A+B/60+C/0.36)*pi/180EndFunction 这样,就定义了一个名字叫DEG的函数,它的作用就是转换60进制的角度为Excel认识的弧度。编辑完后按Alt+Q即返回Excel,再在某一单元格输入=sin(deg(A1))(A1既可以是单元格的值,也可以是输入的角度值),回车,哈哈,怎么样?结果出来了吧?你可以用计算器检验一下是否正确。如果出现#NAME?那就要设置一下安全设置。依次点[工具]->[宏]->[安全性],在安全级选项卡上选择“中”或者“低”,然后关闭后重新打开就可以了,以后只要是60进制的角度,就用它转换,非常方
6、便哦。 工程测量中,经常碰到导线的计算,如果手头没有平差计算程序就只有手工计算了,这时候你曾经想过编个小程序来计算?其实,这很简单,笔者在宛坪(上海至武威)高速公路上做测量监理,因为有大量的导线需要复核,故编写了一个附合导线计算程序,代码很简单,但很实用。下面是该程序的代码:Sub附合导线计算()DimmAsInteger,nAsInteger,msAsDouble,ggAsDouble,shtAsObject,xxAsDouble,yyAsDouble,SAsDoubleSetsht=ThisWorkbook.ActiveSheetDoWhilesht.
7、Cells(m+3,4)<>""m=m+1Loop12Forn=3Tom+2ms=DEG(ms)+DEG(sht.Cells(n,4))ms=RAD(ms)S=S+sht.Cells(n,3)Nextms=DEG(ms)gg=RAD(DEG(sht.Cells(3,5))+ms-DEG(sht.Cells(3+m,5))-pi*m)xx=0:yy=0Forn=4Tom+2'方位角sht.Cells(n,5)=RAD(DEG(sht.Cells(n-1,5))+DEG(sht.Cells(n-1,4))-pi-DEG(gg)/m)'坐标增量sht.
8、Cells(n,6)=Format(sht.Cell