APP下载

EXCEL VBA 在测量中的应用

2020-10-20阳纯良

科学与财富 2020年20期
关键词:单元格绘图工作效率

一、VBA简介

Visual Basic for Applications(VBA)是 Visual Basic 的一种宏語言,是微软开发出来在其桌面应用程序中执行通用的自动化 (OLE) 任务的编程语言。主要能用来扩展 Windows 的应用程序功能,特别是 Microsoft Office 软件。在测量中常应用 EXCEl 软件进行处理数据,使用 VBA 能提高工作效率,保证准确性。

EXCEl 软件具有使用广泛,操作简单,输入数据简单,在我们测量工作日常中是不可缺少的工具,使用 EXCEl VBA 程序对我们工作如虎添翼,大大简化了大量繁重的重复工作,实现自动化。以下通过一个小程序,介绍EXCEl VBA 在测量工作中的应用。

二、使用VBA展坐标点

把现场实测坐标点展到 CAD 图是我们测量人员最常见的工作任务,在平时测量中我们经常要对实际地物画成 CAD 电子图,需要把现场采的点展到CAD 图上然后根据实际地物外形连接成线,画出地物的外轮廓。这项工作虽然简单,但是需要我们测量人员细心,坐标数字多,很容易看串行,输入时要细心认真核对才能保证数据准确性,一旦坐标点过多,是一种繁重、乏味的重复工作,极易出错。

一般常规方法是我们直接打开 CAD 用point 命定直接展点,一个接一个输入,工作效率底下。这种重复的劳动我们使用 EXCEl VBA 轻松解决,提高工作效率。

我们以 office2007和 AutoCAD2008软件作为演示软件,需要安装 Au- toCAD2008、office2007。首先打开 EXCEL 然后使用快捷键 Alt+F11即进入VBAIDE,打开 VBA 界面,在菜单上依次点击[插入]→[模块],就可以进行代码编辑。代码如下:

Sub ZDApp()

On Error Resume Next忽略错误

Set acadApp = GetObject(, "AutoCAD.Application")检查是否打开 CAD If Err Then

Err.Clear

MsgBox " 未检测到打开的 AutoCAD 绘图环境!"

Set acadApp = CreateObject("AutoCAD.Application")打开 CAD 软件

End If

Set acaddoc = acadApp.ActiveDocument定义 CAD 绘图文件 Set MSpace = acaddoc.modelspace定义 CAD 绘图空间 acadApp.Visible = True

Dim myline As Object Dim mytxt As Object Dim mydoc As Object Dim mylist() As Double

Dim myli(0To2) As Double

Set myrange = Worksheets(1).Range("B:B")

i = Application.WorksheetFunction.Count(myrange) ReDim Preserve mylist(0To2* i -1)重新定义数组 For j =2To i +1

mylist((j -2) *2) = Cells(j,3) 从 C2单元开始读取X 坐标mylist((j -2) *2+1) = Cells(j,2) 从 B2单元开始读取X 坐标myli(0) = Cells(j,3)

myli(1) = Cells(j,2)

Set mytxt = MSpace.AddText(Cells(j,1), myli,1) 绘制点号Next

Set myline = acaddoc.modelspace.AddLightWeightPolyline(mylist) 绘制成多段线

End Sub

点击保存,在 excel 工作表1中从 B2单元格输入 X 坐标,从 C2单元格输入 Y 坐标运行ZDApp 程序,cad 中绘出所输入坐标点。

三、结束语

通过以上例子,使用 VBA 能大大提高我们在日常测量工作效率和准确性,本文只是抛砖引玉的作用,其他实际工作中遇到的问题,可以通过学习编辑 VBA 程序实现,解放机械劳动,提高工作效率。

作者简介:

阳纯良(1990-),籍贯:湖南衡阳,职称学历:助理工程师,大学本科,工作专业:桥梁设计施工。

猜你喜欢

单元格绘图工作效率
来自河流的你
“禾下乘凉图”绘图人
流水账分类统计巧实现
玩转方格
玩转方格
提高森林资源监测工作效率和实用性的探索
基于HTML5 Canvas绘图技术应用
浅谈Excel中常见统计个数函数的用法
简论提高统计工作效率方法
提高工作效率必须改掉的7种习惯