版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ExcelVBA在工程測(cè)量上的應(yīng)用Excel是大家很熟悉的辦公軟件,相信大家在工作中經(jīng)常使用吧。在測(cè)量工作中,你是否感覺(jué)到有很不方便的時(shí)候?比如,計(jì)算一個(gè)角度的三角函數(shù)值,而角度的單位是60進(jìn)制的,此時(shí),你一定感到很無(wú)奈,因?yàn)?,Excel本身無(wú)法直接計(jì)算60進(jìn)制的角度的三角函數(shù)!還有,如果你的工作表中有了點(diǎn)坐標(biāo)值(二維或者三維),要在CAD中展繪出來(lái),怎樣才能又快又直接?不然,就只有拐彎摸角了,很痛苦?。∑鋵?shí),只要對(duì)Excel進(jìn)行一些挖掘,就可以發(fā)現(xiàn)Excel的功能我們還沒(méi)有好好的利用呢。Excel本身提供了強(qiáng)大的二次開發(fā)功能,只要我們仔細(xì)的研究,沒(méi)有什么能難倒我們的。下面,好好筆者將帶你走近Excel,認(rèn)識(shí)它的強(qiáng)大的二次開發(fā)環(huán)境VBAIDE,用它來(lái)解決上面所提到的問(wèn)題,就非常容易了。初識(shí)VBAIDE首先,你必須懂得一些簡(jiǎn)單的VB編程常識(shí)。如果不懂就只有通過(guò)其他的途徑去學(xué)習(xí)了。但用不著深入的研究,只要靜下心來(lái),幾個(gè)小時(shí)就可以了。打開Excel,按Alt+F11即進(jìn)入VBAIDE,學(xué)過(guò)VB的人一看就知道那就是熟悉的VB界面。下面看看如何定義一個(gè)函數(shù),然后利用它來(lái)解決60進(jìn)制的角度的三角函數(shù)計(jì)算問(wèn)題。在菜單上依次點(diǎn)擊[插入]->[模塊],然后輸入如下代碼PublicFunctionDEG(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/100DEG=F*(A+B/60+C/0.36)*pi/180EndFunction這樣,就定義了一個(gè)名字叫DEG的函數(shù),它的作用就是轉(zhuǎn)換60進(jìn)制的角度為Excel認(rèn)識(shí)的弧度。編輯完后按Alt+Q即返回Excel,再在某一單元格輸入=sin(deg(A1))(A1既可以是單元格的值,也可以是輸入的角度值),回車,哈哈,怎么樣?結(jié)果出來(lái)了吧?你可以用計(jì)算器檢驗(yàn)一下是否正確。如果出現(xiàn)#NAME?那就要設(shè)置一下安全設(shè)置。依次點(diǎn)[工具]->[宏]->[安全性],在安全級(jí)選項(xiàng)卡上選擇“中”或者“低”,然后關(guān)閉后重新打開就可以了,以后只要是60進(jìn)制的角度,就用它轉(zhuǎn)換,非常方便哦。工程測(cè)量中,經(jīng)常碰到導(dǎo)線的計(jì)算,如果手頭沒(méi)有平差計(jì)算程序就只有手工計(jì)算了,這時(shí)候你曾經(jīng)想過(guò)編個(gè)小程序來(lái)計(jì)算?其實(shí),這很簡(jiǎn)單,筆者在宛坪(上海至武威)高速公路上做測(cè)量監(jiān)理,因?yàn)橛写罅康膶?dǎo)線需要復(fù)核,故編寫了一個(gè)附合導(dǎo)線計(jì)算程序,代碼很簡(jiǎn)單,但很實(shí)用。下面是該程序的代碼:Sub附合導(dǎo)線計(jì)算()紐Dim代mAs替Int恰eger派,n漠AsI述nteg盼er,濫msA晨sDo駱uble綢,gg均As擱Doub謊le,調(diào)sht議AsO排bjec首t,x瞎xAs噸Dou宣ble,回yy管AsD商oubl笑e,S跌As耐Doub奏l(xiāng)e育Set僻sht騙=Th只isWo緊rkbo腳ok.A波ctiv掙eShe果et悉DoW杏hile賄sht儲(chǔ).Cel壽ls(m疤+3弱,4)欲<>譜""揪m=藏m+胸1Loop弊For太n=能3To萍m+喉2騰ms=蒼DEG以(ms)華+D階EG(s叮ht.C源ells耳(n,僵4))影ms=對(duì)RAD脈(ms)艇S=儲(chǔ)S+智sht.謹(jǐn)Cell桃s(n,狹3)Next彼ms=牙DEG溉(ms)淹gg=擔(dān)RAD末(DEG斜(sht吉.Cel絹ls(3爽,5)庸)+寄ms-險(xiǎn)DEG宮(sht頭.Cel匠ls(3篩+m局,5)窮)-疫pi*徹m)青xx=牢0:租yy=絞0介For走n=狀4To看m+納2'方位角俘sht.漸Cell產(chǎn)s(n,砍5)湖=RA秀D(DE舍G(sh敢t.Ce枕lls(接n-影1,5太))+貪DEG落(sht賄.Cel賄ls(n救-1宣,4)耀)-慨pi-睛DEG壁(gg)箱/m申)條'舊坐標(biāo)增量浸sht.濟(jì)Cell咐s(n,恢6)柏=Fo母rmat屆(sht灰.Cel堂ls(n糧-1錫,3)振*C莫os(D元EG(s代ht.C曬ells云(n,幅5)))撫,"#橫####生.###視#")寫sht.膏Cell熔s(n,棉7)逮=Fo賠rmat夜(sht淡.Cel蕩ls(n挨-1珠,3)晴*S哈in(D抓EG(s濫ht.C獲ells斧(n,豐5)))訊,"#險(xiǎn)####默.###圓#")峽'照坐標(biāo)增量博和做xx=箱xx汽+sh玉t.Ce片lls(梳n,6姥)寸yy=菠yy涌+sh蹄t.Ce咱lls(繩n,7旋)Next植xx=涂xx假+sh難t.Ce掉lls(掃3,1若0)-嘆sht嘆.Cel帖ls(m執(zhí)+2脈,10赤)姿yy=饅yy憤+sh舉t.Ce培l(xiāng)ls(殃3,1徒1)-絹sht巡.Cel侮ls(m斜+2黨,11哲)門sht.駕Cell舌s(m確+4,掉5)淹=毯"姐△匪α寄="&司For旋mat(援gg,薯"###箏.###就###"卡)弟sht.潮Cell潔s(m洲+4,古6)辯=提"懶△毛X="劃&Fo劣rmat交(xx,逢"##事#.##凱#")閣sht.禍Cell聚s(m傘+4,口7)匹=客"繳△塞Y="嶄&Fo紗rmat俊(yy,凡"##班#.##組#")片sht.隨Cell下s(m辮+4,葬3)據(jù)=遮"刺∑君S="便&Fo色rmat弱(S,牛"###臨.###躲")儀sht.園Cell芹s(m掃+4,潮9)灰=嶼"禾△暢S="樹&Fo張rmat扛(Sqr澇(xx葛*xx矛+y紡y*差yy),柱"##午#.##貢#")集sht.民Cell河s(m擋+4,昏10)崇=懂"篩相對(duì)精俊度劫1/"滔&F銜orma灑t(S筋/Sq舊r(xx聲*x有x+殖yy*賞yy)鵲,"#侮####鴨#")運(yùn)For邪n=笨4To季m+榨2逗sht.滋Cell襲s(n,觸8)交=Fo康rmat扇(xx齊/S第*sh挎t.Ce袍lls(隱n-續(xù)1,3消),"償###.喇####論")蠟sht.煙Cell舊s(n,鋼9)惡=Fo植rmat辯(yy愧/S棉*sh廊t.Ce每lls(全n-杯1,3格),"協(xié)###.結(jié)####恭")Next稿For蜂n=樂(lè)4To辛m+互1威sht.胸Cell搞s(n,艦10)乞=s喬ht.C輩ells擇(n-糕1,沸10)蝕+sh位t.Ce流lls(今n,6暫)-冊(cè)sht.幻Cell結(jié)s(n,師8)否sht.聞Cell鹽s(n,誠(chéng)11)倚=s患ht.C粘ells視(n-蓬1,秀11)兄+sh索t.Ce菌lls(匠n,7悟)-培sht.愿Cell贊s(n,酷9)Next喝捕Colu抱mns(音"F:K且").S壇elec依t坊擦Sele靠ctio槳n.Nu酒mber色Form君atLo站cal嗽="0梯.000帳_"沫End愚Sub旋Publ旨icF倒unct旱ion蹦RAD(涂NuA口sDo起uble柳)As鳥Dou箱ble胞Dim寇AAs狀Dou系ble,幼BA副sDo異uble皺,C悼AsD穴oubl越e,D掀As蝴Doub挺le,扇EAs顫Dou錘ble,塘FA糾sDo斃uble藥,G割A(yù)sD吹oubl帳e,p傾As立Doub玻le熱D=誼Abs(餃Nu)閥F=槳Sgn(繞Nu)怠p=孫180#級(jí)/p并i寺G=貪p*盲60#說(shuō)A=敢Int(般D*炮p)額B=月Int(亞(D-賞A/漢p)目*G)夸W=報(bào)B寨C=蘋(D-修A/默p-棗B/繳G)著*20憲.626恨4806雷2還RAD嘩=(C嘗+A男+B訴/1舉00)穩(wěn)*F牧End共Func騎tion墨值得注意危的是,前孫面提到載的蜜DE起G匯函數(shù)別忘胸記加進(jìn)去停。睡如果自己宇定義一個(gè)報(bào)名字冒叫蔬“恢計(jì)帽算蟲”怕的按鈕,景指定此工薪具的宏幫為殲“怪單一附合蒜導(dǎo)線計(jì)褲算汽”躲,那么,紋只要按下皺面的格式港輸入原始吧數(shù)據(jù)(斜貢體是輸入聾的),栗點(diǎn)殖“毀計(jì)屆算壩”拒就可以得耍到計(jì)算結(jié)涼果了。所避有的過(guò)程堪都是自動(dòng)弦的,無(wú)須齒再手工填雪寫,是不殘是很方便舍?餅下面我們富就來(lái)解決渴上面提到慧的撇與退CA摟D寒的連接和鋼通訊問(wèn)題嘩。弊進(jìn)凈入莫VBAI誓D豪E族,圣按嘗[嚇工叔具往]->不[冒引邊用愉]轉(zhuǎn),倡找到可使節(jié)用的引用跌,祥在談“誘Auto迷CAD2勺00秋0蒜類型交庫(kù)適”兼的左邊打惱鉤,點(diǎn)確嶺定就行了擔(dān)。在模塊欲中輸入以齡下代碼:竄Glob懼alS它heet爺As寨Obje暴ct,楚acad梢mtex牧tAs補(bǔ)aca柏dmte腹xt,身font棒High用tAs左Dou饑ble門Glo慢bal戚xlBo府okA閘sEx虧cel.骨Work拉book國(guó)Glob沒(méi)alp匙0(2)頓As捕Doub途le,朽p1(2艱)As惡Dou鍛ble,政p2(的2)A色sDo變uble改Glob約ala夜cadA哀ppA英sAc寫adAp儲(chǔ)plic舍atio棟n睜Glob姿ala劑cadD瓜ocA索sAc儀adDo蹈cume個(gè)nt擋Glob搏ala申cadP笨oint雹As超acad竹Poin侄t分Glo狹bal晃numb環(huán)erA裝sIn駛tege加r候Pub匹lic潮Type除pt屆nA釣sIn憂tege晉r知pt(盟2)A守sDo傾uble餡Glob松alp攀t()溫Asp胡t斷Glo貼bal疫text墾1As抖Aca賴dTex它t栽G央loba孝lCA請(qǐng)DAs膛Obj層ect歲G湊loba巾lp(憐2)A演sDo散uble玉,i傾AsI恢nteg寨er,侮jAs雪Int腥eger盜戒Gl印obal甩hA刑sIn鉛tege放r,l梨As竄Inte描ger負(fù)Publ君icF勿unct述ion吃Get_航ACAD笑(Dwt拐As沒(méi)Stri哈ng)互AsB保oole沒(méi)an條Dim貨YER補(bǔ)As蝕Inte碗ger和傅OnE走rror巷Res行ume題Next劍趙Set壇acad德App排=Ge哄tObj贏ect(務(wù),"A憶utoC蠶AD.A校ppli濫cati鏈on")拘枯IfE斯rrT匠hen爸主飽Err.幕Clea確r康股絹Set容acad掩App石=Cr弟eate仇Obje此ct("舒Auto添CAD.玩Appl愁icat粥ion"祥)挽到公I(xiàn)fE起rrT氏hen褲保促堅(jiān)MsgB雁oxE左rr.D漲escr遠(yuǎn)ipti筍on蓋杏屆鄰OnE刷rror味GoT窄o0球離英全Get_昌ACAD斷=F掩alse島偏脹查Exit謝Fun績(jī)ctio死n美僅稀End抓If守柳End搭I(lǐng)f競(jìng)抵OnE鬼rror姜GoT等o0垂Set顫acad竹Doc釘=ac飼adAp兵p.Ac袋tive躬Docu奸ment瘋炮acad默App.里Visi閉ble蘿=Tr羨ue散出Get_森ACAD慧=T紙rue握漲Dim漸type徑Face竊As挑Stri撈ng著謠Dim鼓Bold攻As零Bool晝ean杜買Dim巷Ital追icA話sBo戶olea撓n這蒸Dim寺char股Set嫌AsL領(lǐng)ong感技Dim偶Pitc莫hand皇Fami談lyA貌sLo暫ng丹罪acad恭Doc.重Acti短veTe包xtSt顯yle.洽GetF姨ont杰type滋Face秧,Bo保ld,拾Ital所ic,慮char煩Set,跟Pit名chan劉dFam膠ily冶acad瑞Doc.賊Acti喂veTe艙xtSt呆yle.跟SetF鵝ont脾"逢宋匠體席",B垂old,錯(cuò)Ita強(qiáng)lic,碑cha砌rSet瘡,Pi居tcha心ndFa宴mily判End握Func沿tion振Sub南顯示對(duì)話亂框彩(聞)苗Form邁1.Sh叼ow(菊0)懂End筋Sub搖Publ斃icF悉unct猛ion懸Draw輔_Poi籃nt(P協(xié)oint耕()A洽sDo餡uble米)As典aca慣dPoi扣nt娘紙Set兔Draw造_Poi旋nt=壤aca軌dDoc忘.Mod帳elSp提ace.歷AddP醒oint菠(Poi并nt)逮竄Draw乞_Poi遲nt.U瓣pdat陡e債End返Func秒tion剃P(guān)ubl顫icS堡ubS桂et_l遇ayer狀(sA袋sSt表ring暗)笛分Dim際laye行rObj忽As胖Acad銀Laye墓r野陜Set枯laye別rObj當(dāng)=a扛cadD拼oc.L巖ayer積s.Ad愉d(s)銅處acad占Doc.榨Acti羅veLa割yer辭=la銜yerO沫bj默End風(fēng)Sub闊再按以下伐模式做個(gè)后對(duì)話框:監(jiān)窗體的名灑字就甲叫淋“齊Form架1罰”雜雙禍擊眾“塞展罪點(diǎn)榨”掃按鈕,輸稿入以下代嚷碼:躁Dim唇p0(2扔)As武Dou礎(chǔ)ble,叔p1(叉2)A粉sDo狂uble澤,p2跪(2)佳AsD艇oubl殘e蜻Dim嬸T1A續(xù)sDo淚uble路,T2返A(chǔ)s憂Doub涂le,租T3A升sDo匙u(yù)ble闖,T4認(rèn)As賢Doub粗le經(jīng)Publ削icn越eAs理Int邊eger丟,sp桐As舉Sing礦le,嫌czA亡sSi咬ngle績(jī)Call屬Get哲_ACA男D(""貿(mào))臘Dim耕txt貪AsA德cadT沾ext稅Dim結(jié)laA籠sAc殘adLa停yer恥For碎Each句Lay舅erI獨(dú)nac與adDo霸c.Mo漢delS灑paceNext殲Call核Set怖_lay丹er("鴿zdh"淚)矛Set肅Shee移t=河This包Work罷book村.Act定iveS迫heet固Dim僑iAs喇Int三eger貝DoW型hile耀She所et.C宗ells誘(i+靠1,繩3)<捧>""勺Or射Shee煮t.Ce糖lls(愛(ài)i+撓1,1牢)<>寬""弄IfS族heet狡.Cel梨ls(i丈+1鍵,3)堆="傅"Or法She柿et.C民ells李(i+附1,擠4)=抱""景Then陡GoT昌oII冊(cè)With熟She沙et心p1(0猶)=浴.Cel桶l(fā)s(i蘆+1躺,3)涼.Val古ue壺p1(1圍)=旅.Cel申ls(i避+1悠,4)五.Val掀ue銷p1(2圖)=親.Cel獎(jiǎng)ls(i弄+1蹈,5)扯.Val日ue遇End幸With內(nèi)p(0)圍=p彈1(0)患p(1)負(fù)=p繡1(1)甩Call溫Set璃_lay汽er("漫ZDH"嘗)期Call火Dra稼w_Po遞int(惜p1)瘦fon戰(zhàn)tHig鳴ht=喘Tex聾tBox犯5.Va彼lue粱IfC乓ells飯(i+墾1,獲2)=婚""靈Then翻GoT匙o(hù)oo磚Set圍txt松=ac面adDo滴c.Mo淋delS杯pace明.Add尖Text狠(Cel乞ls(i攝+1上,2)井,p,廳fon塑tHig濾ht)底txt.瓣Colo爹r=略acMa霞gent淘aoo:槳IfC族e(cuò)lls明(i+銅1,波5)=衣""蹄Then閃GoT惹oII竭Set_窯laye緞r("農(nóng)GCD"難)悅p(1)池=p付1(1)首-f博ontH切ight棚S
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 員工生產(chǎn)管理培訓(xùn)
- 員工技能入職培訓(xùn)
- 倉(cāng)儲(chǔ)客服培訓(xùn)課件
- 員工心態(tài)培訓(xùn)課件教學(xué)
- 施工現(xiàn)場(chǎng)作業(yè)面看護(hù)制度
- 精裝修住宅改造合同協(xié)議
- 文體活動(dòng)室制度
- 塑膠測(cè)量員培訓(xùn)課件
- 護(hù)理人員在職繼續(xù)教育與考評(píng)制度
- 員工培訓(xùn)講授法
- 公共衛(wèi)生間洗清消毒制度
- 2025年安徽省中考模擬英語(yǔ)試題(原卷版+解析版)
- 2024-2025學(xué)年云南省昆明市盤龍區(qū)五年級(jí)(上)期末數(shù)學(xué)試卷(含答案)
- 論地理環(huán)境對(duì)潮汕飲食文化的影響
- 值班人員在崗情況檢查記錄表周一
- 西充縣山永家庭農(nóng)場(chǎng)生豬養(yǎng)殖項(xiàng)目(擴(kuò)建)環(huán)評(píng)報(bào)告
- 赤峰南臺(tái)子金礦有限公司金礦2022年度礦山地質(zhì)環(huán)境治理計(jì)劃書
- 徐州市銅山區(qū)法院系統(tǒng)書記員招聘考試真題
- 氣穴現(xiàn)象和液壓沖擊
- GB/T 33598.3-2021車用動(dòng)力電池回收利用再生利用第3部分:放電規(guī)范
- 江蘇省泰州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)及行政區(qū)劃代碼
評(píng)論
0/150
提交評(píng)論