论文部分内容阅读
摘 要:基于ExcelVBA实现的专题地图创建模型,在VBA编程环境下,通过对google地球的二次开发,实现了测试log大批量、高效率、智能化创建专题地图。
关键词:excel;VBA;专题地图;log;电平值;步长
0 引言
通信信号测试软件层出不穷,各种测试软件导出的信号测试log一般都只能转换成mapinfo格式,然后通过mapinfo创建专题地图来展示在google地球上。如何快速处理多个excel文件,并创建google专题地图,本文通过研究基于ExcelVBA的方法实现批量专题地图创建,从而提高工作效率。
1 专题地图创建模型功能
基于ExcelVBA实现的专题地图创建模型(以下简称“模型”)主要解决大量测试log快速处理为google地球专题地图文件,其主要功能如下:
(1)自定义的测试信号电平值区间和显示颜色。
(2)测试log快速转换为google专题地图。
(3)多个测试log只需一键处理。
2 专题地图创建模型介绍
2.1 测试log存放要求
“网优先锋”软件测试log为excel文件,将导出的文件存放在指定目录下,本文以“D:\11”为例。模型在使用时会自动检索指定目录下所有excel文件,根据工具格式自动调整输入内容,并逐一进行处理。实现该功能代码如下:
PublicFunctionHH()
WithThisWorkbook.Sheets(2)
.Range(“A2:B1000”).ClearContents
DimstartfolderAsString
startfolder=”D:\11\”’指定文件夹
Setfolderlist=CreateObject(“scripting.dictionary”)
Setfilelist=CreateObject(“scripting.dictionary”)
i=2
folderlist.Addstartfolder,””
DoWhilefolderlist.Count>0
ForEachFolderNameInfolderlist.keys
fname=Dir(FolderName,vbDirectory)
DoWhilefname<>””
Iffname<>”..”Andfname<>”.”Then
IfGetAttr(FolderName&fname)AndvbDirectoryThen
folderlist.AddFolderName&fname&”\”,””
Else
filelist.AddFolderName&fname,””
EndIf
EndIf
fname=Dir
Loop
folderlist.Remove(FolderName)
Next
Loop
ForEacharrInfilelist.keys
.Range(“A”&i).Value=arr
.Range(“B”&i).Value=Mid(arr,InStrRev(arr,”\”)+1)
i=i+1
Next
EndWith
EndFunction
2.2 模型原理介绍
首先,设定步长和比例,一般步长设置为0.5米,比例设置为0.3。
其次,设置不同信号电平值区间及相应的颜色,从绿色到红色信号强度依次减弱。
最后,设置相应的“经度”、“纬度”和“电平值”所对应的列,并进行处理和转换。主要代码如下:
PublicFunctioncreatkmlfromexcell()
‘yueminjun
Dimh,st,x,y,zAsDouble
Dimstr,tmptAsString
DimDAT()AsByte,DAT1()AsByte
DimfilenameAsString
h=0.5
st=0.3
CC1=”FF00FF00”
CC2=”FFFF0000”
CC3=”FF00FFFF”
CC4=”FFFF00FF”
CC5=”FF0000FF”
r=Cells(65535,1).End(xlUp).row
jingdu=2
weidu=3
dingzhilie=4
SelectCasez
CaseVal(-70)ToVal(-20)
CaseVal(-80)ToVal(-70)
CaseVal(-90)ToVal(-80)
CaseVal(-100)ToVal(-90)
CaseVal(-150)ToVal(-100)’重复代码
CaseElse
EndSelect
EndIf
Next
tmpt=””&vbCrLf&””
change2unicode(tmpt)
Close#1
EndFunction
3 结束语
基于ExcelVBA实现的专题地图创建模型,在VBA编程环境下,通过对google地球的二次开发,实现了测试log快速创建专题地图。其自定义信号电平值区间划分、自定义检索测试文件、自动批量创建专题地图功能在很大程度上实现了该项工作的智能化,整体提高了工作效率,优化了工作流程。该模型经过长达一个月的测试,也做了很多优化,目前调试运行效果良好。
参考文献
[1]伊利奇,王保众.透视Excel VBA应用与开发[M].人民邮电出版社,2008.
[2]布伦格林.Excel专业开发[M].电子工业出版社,2007.
[3]黄仁涛.专题地图编制[M].武汉大学出版社,2003.
(作者单位:福建省邮电规划设计院有限公司)
关键词:excel;VBA;专题地图;log;电平值;步长
0 引言
通信信号测试软件层出不穷,各种测试软件导出的信号测试log一般都只能转换成mapinfo格式,然后通过mapinfo创建专题地图来展示在google地球上。如何快速处理多个excel文件,并创建google专题地图,本文通过研究基于ExcelVBA的方法实现批量专题地图创建,从而提高工作效率。
1 专题地图创建模型功能
基于ExcelVBA实现的专题地图创建模型(以下简称“模型”)主要解决大量测试log快速处理为google地球专题地图文件,其主要功能如下:
(1)自定义的测试信号电平值区间和显示颜色。
(2)测试log快速转换为google专题地图。
(3)多个测试log只需一键处理。
2 专题地图创建模型介绍
2.1 测试log存放要求
“网优先锋”软件测试log为excel文件,将导出的文件存放在指定目录下,本文以“D:\11”为例。模型在使用时会自动检索指定目录下所有excel文件,根据工具格式自动调整输入内容,并逐一进行处理。实现该功能代码如下:
PublicFunctionHH()
WithThisWorkbook.Sheets(2)
.Range(“A2:B1000”).ClearContents
DimstartfolderAsString
startfolder=”D:\11\”’指定文件夹
Setfolderlist=CreateObject(“scripting.dictionary”)
Setfilelist=CreateObject(“scripting.dictionary”)
i=2
folderlist.Addstartfolder,””
DoWhilefolderlist.Count>0
ForEachFolderNameInfolderlist.keys
fname=Dir(FolderName,vbDirectory)
DoWhilefname<>””
Iffname<>”..”Andfname<>”.”Then
IfGetAttr(FolderName&fname)AndvbDirectoryThen
folderlist.AddFolderName&fname&”\”,””
Else
filelist.AddFolderName&fname,””
EndIf
EndIf
fname=Dir
Loop
folderlist.Remove(FolderName)
Next
Loop
ForEacharrInfilelist.keys
.Range(“A”&i).Value=arr
.Range(“B”&i).Value=Mid(arr,InStrRev(arr,”\”)+1)
i=i+1
Next
EndWith
EndFunction
2.2 模型原理介绍
首先,设定步长和比例,一般步长设置为0.5米,比例设置为0.3。
其次,设置不同信号电平值区间及相应的颜色,从绿色到红色信号强度依次减弱。
最后,设置相应的“经度”、“纬度”和“电平值”所对应的列,并进行处理和转换。主要代码如下:
PublicFunctioncreatkmlfromexcell()
‘yueminjun
Dimh,st,x,y,zAsDouble
Dimstr,tmptAsString
DimDAT()AsByte,DAT1()AsByte
DimfilenameAsString
h=0.5
st=0.3
CC1=”FF00FF00”
CC2=”FFFF0000”
CC3=”FF00FFFF”
CC4=”FFFF00FF”
CC5=”FF0000FF”
r=Cells(65535,1).End(xlUp).row
jingdu=2
weidu=3
dingzhilie=4
SelectCasez
CaseVal(-70)ToVal(-20)
CaseVal(-80)ToVal(-70)
CaseVal(-90)ToVal(-80)
CaseVal(-100)ToVal(-90)
CaseVal(-150)ToVal(-100)’重复代码
CaseElse
EndSelect
EndIf
Next
tmpt=””&vbCrLf&””
change2unicode(tmpt)
Close#1
EndFunction
3 结束语
基于ExcelVBA实现的专题地图创建模型,在VBA编程环境下,通过对google地球的二次开发,实现了测试log快速创建专题地图。其自定义信号电平值区间划分、自定义检索测试文件、自动批量创建专题地图功能在很大程度上实现了该项工作的智能化,整体提高了工作效率,优化了工作流程。该模型经过长达一个月的测试,也做了很多优化,目前调试运行效果良好。
参考文献
[1]伊利奇,王保众.透视Excel VBA应用与开发[M].人民邮电出版社,2008.
[2]布伦格林.Excel专业开发[M].电子工业出版社,2007.
[3]黄仁涛.专题地图编制[M].武汉大学出版社,2003.
(作者单位:福建省邮电规划设计院有限公司)