12-6-1 编制直线、曲线及转角表.ppt_第1页
12-6-1 编制直线、曲线及转角表.ppt_第2页
12-6-1 编制直线、曲线及转角表.ppt_第3页
12-6-1 编制直线、曲线及转角表.ppt_第4页
12-6-1 编制直线、曲线及转角表.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章编制直线、曲线及转角表程序设计方法,教学内容:(1)VB调用Excel自动制表的基本原理与技术支持(2)编制直线、曲线及转角表所需的设计资料(3)程序设计方法及流程框图,(第12讲),第6章编制直线、曲线及转角表程序设计方法,6.1.1程序功能根据平面设计的结果自动编制直线、曲线及转角表,并以Excel文件形式保存。6.1.2设计资料本程序需要两个数据文件资料:(1)设计参数资料Sjcszl.dat:路段名称(2)平面设计结果数据Zqzbsj.dat,6.1概述,VB自动制表可用方法,使用汉字库中的制表符制表,利用VB报表设计器(DataReport)功能,VB调用Excel电子表格,利用AutoCAD以图形格式绘出设计表格,6.1.3自动制表程序设计常用方法,6.2VB调用Excel自动制表的基本原理与技术支持,6.2.1添加对部件的引用,基本原理:使用VB的ActiveX部件,获取对Excel进行操作的控制句柄,直接控制Excel的一系列操作。Activex部件简称为部件,是一段可重复使用的编程代码和数据,它是由Activex技术所创建的由一个或多个对象组成的。使用Activex部件,可以使VB应用程序具有Excel一样的分析和计算功能。,6.2.2用VB创建外部EXCEL对象,1.声明对象变量在添加了对部件的引用后,必须先声明对象变量,然后才能被引用。例如,在应用程序中要调用Excel,就应声明类ExcelApplication:代码为:DimxlAppAsExcel.Application2.将对象引用赋予变量(引用)对象的引用可用Set语句实现,使用关键字New或CreatObject将对象引用赋予变量。启动MicrosoftExcel,并创建变量xlApp来引用一个Application类的对象,代码如下:DimxlAppAsExcel.ApplicationSetxlApp=NewExcel.Application,3.打开工作簿Workbooks:即打开Excel文件,打开一个新建的工作簿xlApp.WorkBooks.Add未命名,两种情况,打开已存在的工作簿:如test.xlsxlApp.Workbooks.Open(c:test.xls),4.工作簿及工作表操作,6.3编制直线、曲线及转角表程序设计方法与步骤,6.3.1控制窗体设计6.3.2程序设计流程框图,6.3编制直线、曲线及转角表程序设计方法与步骤,6.3.1控制窗体设计,点击运行,6.3编制直线、曲线及转角表程序设计方法与步骤,6.3.1控制窗体设计6.3.2程序设计流程框图,在母表下面复制一张空表,供填入数据,如果本页已满,在其下面再复制一张空表,声明对象变量及一般变量,读入基础数据,从平面设计结果文件Zqzbsj.dat获取计算数据,逐行填入数据(对指定单元格赋值),删除空表,保存并关闭Excel表格文件zjb.xls,关闭数据文件,结束计算,非文件尾,文件尾,编制直曲线表计算程序流程框图,打开Excel表格文件,并复制整页表格到粘贴板,按照设计要求编制Excel表格文件(空表),复制预先编制的Excel文件作为编辑文件(zjb.xls),在母表下面复制一张空表,供填入数据,如果本页已满,在其下面再复制一张空表,声明对象变量及一般变量,读入基础数据,从平面设计结果文件Zqzbsj.dat获取计算数据,逐行填入数据(对指定单元格赋值),删除空表,保存并关闭Excel表格文件zjb.xls,关闭数据文件,结束计算,非文件尾,文件尾,编制直曲线表计算程序流程框图,打开Excel表格文件,并复制整页表格到粘贴板,按照设计要求编制Excel表格文件(空表),复制预先编制的Excel文件作为编辑文件(zjb.xls),DimxlAppAsExcel.ApplicationPrivateSubCommand1_Click()DimpathAsStringpath=Text1.textOpenpath+sjcszl.datForInputAs#1Input#1,ldmcCloseFileCopyApp.path+直线、曲线及转角表.xls,path+zjb.xls“Openpath+zqzbsj.datForInputAs#3,在母表下面复制一张空表,供填入数据,如果本页已满,在其下面再复制一张空表,声明对象变量及一般变量,读入基础数据,从平面设计结果文件Zqzbsj.dat获取计算数据,逐行填入数据(对指定单元格赋值),删除空表,保存并关闭Excel表格文件zjb.xls,关闭数据文件,结束计算,非文件尾,文件尾,编制直曲线表计算程序流程框图,打开Excel表格文件,并复制整页表格到粘贴板,按照设计要求编制Excel表格文件(空表),复制预先编制的Excel文件作为编辑文件(zjb.xls),SetxlApp=CreateObject(excel.application)xlApp.Visible=False关闭Excel显示xlApp.Workbooks.Open(path+zjb.xls)xlApp.Sheets(1).Select选定当前工作表Range(“A1:w37”).Copy复制选定范围到粘贴板,DimxlAppAsExcel.ApplicationPrivateSubCommand1_Click()DimpathAsStringpath=Text1.textOpenpath+sjcszl.datForInputAs#1Input#1,ldmcCloseFileCopyApp.path+直线、曲线及转角表.xls,path+zjb.xls“Openpath+zqzbsj.datForInputAs#3,在母表下面复制一张空表,供填入数据,如果本页已满,在其下面再复制一张空表,声明对象变量及一般变量,读入基础数据,从平面设计结果文件Zqzbsj.dat获取计算数据,逐行填入数据(对指定单元格赋值),删除空表,保存并关闭Excel表格文件zjb.xls,关闭数据文件,结束计算,非文件尾,文件尾,编制直曲线表计算程序流程框图,打开Excel表格文件,并复制整页表格到粘贴板,按照设计要求编制Excel表格文件(空表),复制预先编制的Excel文件作为编辑文件(zjb.xls),Row=38:hs=0:pg=0DoWhileNotEOF(3)IfRow36ThenCells(38+hs,1).SelectActiveSheet.Paste粘贴空表Row=8:hs=hs+37:pg=pg+1Fori=7To36xlApp.Rows(i+hs).RowHeight=19NextiEndIf,在母表下面复制一张空表,供填入数据,如果本页已满,在其下面再复制一张空表,声明对象变量及一般变量,读入基础数据,从平面设计结果文件Zqzbsj.dat获取计算数据,逐行填入数据(对指定单元格赋值),删除空表,保存并关闭Excel表格文件zjb.xls,关闭数据文件,结束计算,非文件尾,文件尾,编制直曲线表计算程序流程框图,打开Excel表格文件,并复制整页表格到粘贴板,按照设计要求编制Excel表格文件(空表),复制预先编制的Excel文件作为编辑文件(zjb.xls),Input#3,num,qxlx,jd,pj_r,r,ls,ls2,t,t2,l,e,j,zh,hy,qz,yh,hz,zxjl,jdjl,fwjIfqxlx=1ThenInput#1,jda,pja_r,jdbpj_dms=rad_dms(Abs(pj_r)fwj_dms=rad_dms(fwj)弧度化度分秒IfSgn(pj_r)=1Thenpj_dms=右+pj_dmsElsepj_dms=左+pj_dmsEndIfzh_s=km_lcz(zh):hy_s=km_lcz(hy)qz_s=km_lcz(qz):yh_s=km_lcz(yh)hz_s=km_lcz(hz),Fori=7To36xlApp.Rows(i+hs).RowHeight=19NextiEndIf,在母表下面复制一张空表,供填入数据,如果本页已满,在其下面再复制一张空表,声明对象变量及一般变量,读入基础数据,从平面设计结果文件Zqzbsj.dat获取计算数据,逐行填入数据(对指定单元格赋值),删除空表,保存并关闭Excel表格文件zjb.xls,关闭数据文件,结束计算,非文件尾,文件尾,编制直曲线表计算程序流程框图,打开Excel表格文件,并复制整页表格到粘贴板,按照设计要求编制Excel表格文件(空表),复制预先编制的Excel文件作为编辑文件(zjb.xls),Cells(Row+hs,1).Value=numCells(Row+hs,2).Value=jd_sCells(Row+hs,3).Value=Format(x_jd,0.00)Cells(Row+hs,4).Value=Format(y_jd,0.00)Ifr0ThenCells(Row+hs,5).Value=pj_dmsCells(Row+hs,11).Value=Format(j,0.00)IfzhhyThenCells(Row+hs,12).Value=zh_sEndIfCells(Row+hs,13).Value=hy_sIfhzyhThenCells(Row+hs,16).Value=hz_sEndIfEndIf,IfNoFst=1Thenzxjl=zh-hz0:jdjl=jd-jd0+j0Cells(Row+hs,17).Value=Format(zxjl,0.00)Cells(Row+hs,18).Value=Format(jdjl,0.00)EndIfCells(Row+hs,19).Value=fwj_dmsRow=Row+1Loop,在母表下面复制一张空表,供填入数据,如果本页已满,在其下面再复制一张空表,声明对象变量及一般变量,读入基础数据,从平面设计结果文件Zqzbsj.dat获取计算数据,逐行填入数据(对指定单元格赋值),删除空表,保存并关闭Excel表格文件zjb.xls,关闭数据文件,结束计算,非文件尾,文件尾,编制直曲线表计算程序流程框图,打开Excel表格文件,并复制整页表格到粘贴板,按照设计要求编制Excel表格文件(空表),复制预先编制的Excel文件作为编辑文件(zjb.xls),Fori=1TopgCells(2+i*37,3).Value=ldmcCells(2+i*37,19).Value=第+Format(i)+页Cells(2+i*37,20)=共+Format(pg)+页NextiRange(A1:w37).Delete删除空表ActiveCell.Select清除复制后的背景标志xlApp.ActiveWorkbook.closeTrue缺省Ture,屏幕提示保存与否MsgBox(计算结束!)CloseEndSubPrivateSubForm_Load()SetxlApp=CreateObject(“Excel.application)EndSub,程序清单,Functionkm_lcz(lcz)k=Int(lcz/1000)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论