" />

国产黄色毛片-国产黄色毛片视频-国产黄色片91-国产黄色片一级-一级坐爱片-一级免费

Excel VBA在工程測量上的應(yīng)用

所屬欄目:計(jì)算機(jī)應(yīng)用論文 發(fā)布日期:2011-06-09 07:59 熱度:

  摘要:Excel是工作中經(jīng)常使用的辦公軟件。在測量工作中,也有很大的應(yīng)用,比如,計(jì)算一個角度的三角函數(shù)值、導(dǎo)線計(jì)算。Excel本身提供了強(qiáng)大的二次開發(fā)功能,本文將闡述用它來解決上面所提到的問題。
  
  關(guān)鍵詞:Excel,VBA,工程測量,導(dǎo)線計(jì)算
  
  
  0引言
  Excel是大家很熟悉的辦公軟件,相信大家在工作中經(jīng)常使用。在測量工作中,計(jì)算一個角度的三角函數(shù)值,而角度的單位是60進(jìn)制的,計(jì)算起來比較困難,Excel本身無法直接計(jì)算60進(jìn)制的角度的三角函數(shù),將利用函數(shù)語言解決轉(zhuǎn)換問題,從而完成導(dǎo)線計(jì)算。
  1實(shí)例DEG的函數(shù)
  初識VBAIDE,首先,必須懂得一些簡單的VB編程常識。
  打開Excel,按Alt+F11即進(jìn)入VBAIDE,學(xué)過VB的人一看就知道那就是熟悉的VB界面。下面看看如何定義一個函數(shù),然后利用它來解決60進(jìn)制的角度的三角函數(shù)計(jì)算問題。在菜單上依次點(diǎn)擊[插入]----->[模塊],然后輸入如下代碼
  PublicConstpi=3.14159265359
  PublicFunctionDEG(nAsDouble)
  DimAAsDouble,BAsDouble,CAsDouble,DAsDouble,EAsDouble,FAsDouble,GAsDouble,KAAsDouble
  D=Abs(n)+0.000000000000001
  F=Sgn(n)
  A=Int(D)
  B=Int((D-A)*100)
  C=D-A-B/100
  DEG=F*(A+B/60+C/0.36)*pi/180
  EndFunction
  這樣,就定義了一個名字叫DEG的函數(shù),它的作用就是轉(zhuǎn)換60進(jìn)制的角度為Excel認(rèn)識的弧度。編輯完后按Alt+Q即返回Excel,再在某一單元格輸入=sin(deg(A1))(A1既可以是單元格的值,也可以是輸入的角度值),回車,就計(jì)算出了成果,可以用計(jì)算器檢驗(yàn)一下是否正確。如果出現(xiàn)#NAME?那就要設(shè)置一下安全設(shè)置。依次點(diǎn)[工具]->[宏]->[安全性],在安全級選項(xiàng)卡上選擇“中”或者“低”,然后關(guān)閉后重新打開就可以了,以后只要是60進(jìn)制的角度,就用它轉(zhuǎn)換,非常方便。
  2導(dǎo)線計(jì)算
  工程測量中,經(jīng)常碰到導(dǎo)線的計(jì)算,如果手頭沒有平差計(jì)算程序就只有手工計(jì)算了,這時候可以編個小程序來計(jì)算,其實(shí),這很簡單,只要編寫了一個附合導(dǎo)線計(jì)算程序,代碼很簡單,但很實(shí)用。下面是該程序的代碼:
  Sub附合導(dǎo)線計(jì)算()
  DimmAsInteger,nAsInteger,msAsDouble,ggAsDouble,shtAsObject,xxAsDouble,yyAsDouble,SAsDouble
  Setsht=ThisWorkbook.ActiveSheet
  DoWhilesht.Cells(m+3,4)<>""
  m=m+1
  Loop
  Forn=3Tom+2
  ms=DEG(ms)+DEG(sht.Cells(n,4))
  ms=RAD(ms)
  S=S+sht.Cells(n,3)
  Next
  ms=DEG(ms)
  gg=RAD(DEG(sht.Cells(3,5))+ms-DEG(sht.Cells(3+m,5))-pi*m)
  xx=0:yy=0
  Forn=4Tom+2
  '方位角
  sht.Cells(n,5)=RAD(DEG(sht.Cells(n-1,5))+DEG(sht.Cells(n-1,4))-pi-DEG(gg)/m)
  '坐標(biāo)增量
  sht.Cells(n,6)=Format(sht.Cells(n-1,3)*Cos(DEG(sht.Cells(n,5))),"#####.####")
  sht.Cells(n,7)=Format(sht.Cells(n-1,3)*Sin(DEG(sht.Cells(n,5))),"#####.####")
  '坐標(biāo)增量和
  xx=xx+sht.Cells(n,6)
  yy=yy+sht.Cells(n,7)
  Next
  xx=xx+sht.Cells(3,10)-sht.Cells(m+2,10)
  yy=yy+sht.Cells(3,11)-sht.Cells(m+2,11)
  sht.Cells(m+4,5)="△α="&Format(gg,"###.######")
  sht.Cells(m+4,6)="△X="&Format(xx,"###.###")
  sht.Cells(m+4,7)="△Y="&Format(yy,"###.###")
  sht.Cells(m+4,3)="∑S="&Format(S,"###.###")
  sht.Cells(m+4,9)="△S="&Format(Sqr(xx*xx+yy*yy),"###.###")
  sht.Cells(m+4,10)="相對精度1/"&Format(S/Sqr(xx*xx+yy*yy),"######")
  Forn=4Tom+2
  sht.Cells(n,8)=Format(xx/S*sht.Cells(n-1,3),"###.####")
  sht.Cells(n,9)=Format(yy/S*sht.Cells(n-1,3),"###.####")
  Next
  Forn=4Tom+1
  sht.Cells(n,10)=sht.Cells(n-1,10)+sht.Cells(n,6)-sht.Cells(n,8)
  sht.Cells(n,11)=sht.Cells(n-1,11)+sht.Cells(n,7)-sht.Cells(n,9)
  Next
  Columns("F:K").Select
  Selection.NumberFormatLocal="0.000_"
  EndSub
  PublicFunctionRAD(NuAsDouble)AsDouble
  DimAAsDouble,BAsDouble,CAsDouble,DAsDouble,EAsDouble,FAsDouble,GAsDouble,pAsDouble
  D=Abs(Nu)
  F=Sgn(Nu)
  p=180#/pi
  G=p*60#
  A=Int(D*p)
  B=Int((D-A/p)*G)
  W=B
  C=(D-A/p-B/G)*20.62648062
  RAD=(C+A+B/100)*F
  EndFunction
  值得注意的是,前面提到的DEG函數(shù)別忘記加進(jìn)去。
  如果自己定義一個名字叫“計(jì)算”的按鈕,指定此工具的宏為“單一附合導(dǎo)線計(jì)算”,那么,只要按上面的格式輸入原始數(shù)據(jù),點(diǎn)“計(jì)算”就可以得到計(jì)算結(jié)果了。所有的過程都是自動的,無須再手工填寫,是不是很方便?
  當(dāng)然,也可以利用Excel把工作表中點(diǎn)的坐標(biāo)值(二維或者三維)在CAD中展繪出來,同樣可以再加個工具按鈕。這里就不在一一介紹。
  Excel的功能是非常強(qiáng)大的,利用他可完成許多測量上的計(jì)算,而且方法要方便的多。

文章標(biāo)題:Excel VBA在工程測量上的應(yīng)用

轉(zhuǎn)載請注明來自:http://www.optiwork.cn/fblw/dianxin/yingyong/9332.html

相關(guān)問題解答

SCI服務(wù)

搜論文知識網(wǎng) 冀ICP備15021333號-3

主站蜘蛛池模板: 男人天堂av网 | 成年18网站免费视频网站 | 欧美日韩精品一区二区三区高清视频 | 一级毛片在线视频 | 在线观看欧洲成人免费视频 | 国产成a人亚洲精v品久久网 | 免费又黄又爽的视频 | 欧美一区二区三区四区在线观看 | 久久久久久毛片免费播放 | 亚洲高清国产一区二区三区 | 久久精品视频大全 | 欧美激情性色生活片在线观看 | 国产三级a | 成人影院一区二区三区 | 欧美一级毛片大片免费播放 | 曰本人做爰大片免费观看一 | 91福利国产在线观看香蕉 | 欧美午夜激情影院 | 黄人成a动漫片免费网站 | 一区二区三区在线观看视频 | 男女乱淫免费视频 | 久草热视频在线观看 | 一级片视频免费观看 | 国产精品日本一区二区不卡视频 | 久久精品免费一区二区三区 | 国产色a | 99久久在线 | 国产精品久久久久久免费播放 | 亚洲成人免费 | 成人免费视频一区二区 | 免费国产高清视频 | 一区二区三区亚洲 | 秀人网私拍福利视频在线 | 老司机免费福利午夜入口ae58 | 成年人免费在线观看网站 | 三级视频网站 | 久久777国产线看是看精品 | 日本视频在线免费看 | 成人国产在线视频 | 国产网站在线看 | 成人网在线视频 |