vbs读取excel的一个实例

摘要:
该程序依赖于excel文件“sheet2”形式的这两列。然而,在xp测试中,发现会有一个EXCEL。即使调用了“objExcel.Quit”语句,任务管理器中的EXE文件也无法在运行后退出。
功能:在excel中对ip与loginType这两列进行遍历读取。本程序依赖于excel文件的"sheet2"表单中具有这两列。

dim dictTarget, objExcel
'从交换机台账中提取ip/loginType数据
getDictTarget
objExcel.Quit

'Msgbox dictTarget.Count
'遍历所有ip,进行登录
keySet = dictTarget.keys
for i = 0 to dictTarget.Count -1
	ip = keySet(i)
	loginType = dictTarget.Item(ip)
	Msgbox ip&" : "&loginType
next

function getDictTarget
'功能:打开excel并将"ip","登录方式"这两列值提取为dictionary
	Set dictTarget = CreateObject("Scripting.Dictionary")
	Set objExcel = CreateObject("Excel.Application")
	Set objWorkbook = objExcel.Workbooks.Open("D:桌面Desktop1.xlsx")
	objExcel.WorkSheets("Sheet2").Activate
	intColOfIP = getColNumInRowByValue(1, "IP")
	'Msgbox "intColOfIP : "&intColOfIP
	intColOfLoginType = getColNumInRowByValue(1, "登录方式")
	'Msgbox "intColOfLoginType : "&intColOfLoginType
	
	intRow = 2
	Do Until objExcel.Cells(intRow, intColOfIP).Value = ""
		ip = objExcel.Cells(intRow, 1).Value
		loginType = objExcel.Cells(intRow, 2).Value
		dictTarget.add ip, loginType
	intRow = intRow + 1
	Loop
end function

function getColNumInRowByValue(intRow, strValue)
'获取指定行中指定内容的单元格的列值
	intCol = 1
	intResult = -1
	value = "tmp"
	Do while value <> ""
		value = objExcel.Cells(intRow, intCol).Value
		if value = strValue then
			intResult = intCol
			exit do
		end if
		intCol = intCol + 1		
	Loop
	getColNumInRowByValue = intResult
	'Msgbox "intResult : "&intResult
end function

问题:在win7中测试一切正常。然而在xp中测试发现,运行结束后任务管理器中会残留一个EXCEL.EXE无法退出,即使已经调用了“objExcel.Quit”语句。

免责声明:文章转载自《vbs读取excel的一个实例》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇性能测试指标redis配置文件 redis.conf下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

laravel实现excel表的导入导出功能

1.这是个我去公司之后曾经折磨我很久很久的功能查阅了很多资料但是功夫不负有心人在本人的不懈努力下还是实现了这个功能(ps看不懂我下面说讲述的可以参考这个laravel学院的官方文档 https://xueyuanjun.com/post/2024.html) 官方主页:https://laravel-excel.com/ 1.1使用的时候先用compose...

从excel表中生成批量SQL,将数据录入到数据库中

excel表格中有许多数据,需要将数据导入数据库中,又不能一个一个手工录入,可以生成SQL,来批量操作。      1.首先在第二行的H列,插入函数:=CONCATENATE("INSERT INTO `book` (`bookid`, `title`,  `volume`, `author`, `urlpdf` ) VALUES ('",A2,"'...

PHPExcel内存泄漏问题

使用PHPExcel来生成 excel 文档是比较消耗内存的,有时候可能会需要通过一个循环来把大数据切分成若干个小的 excel 文档保存来避免内存耗尽。 然而 PHPExcel 存在 circular references 的情况(貌似在最新的 1.6.5 版本中仍然没有去解决这个问题),如果在一次 http 请求过程中反复多次构建 PHPExcel 及...

http请求post,返回excel文件,并接收

1.post的方法里要加responseType: 'arraybuffer'参数,不然下载的excel会乱码 2.使用{type: "application/vnd.ms-excel"}的写法,可以保存为xls格式的excel文件(兼容老版本)。而使用“application/vnd.openxmlformats-officedocument.sprea...

laravel 5.4 导出excel表格

  1.在laravel根目录下面找到一个composer.json文件 打开并在require下面加上一句话,如图所示: 注:以后这个excel的版本号可能还会修改 2.执行 composer install 3.在config下面的app.php中修改如下: 在providers 中加上 MaatwebsiteExcelExcelServicePro...

C#读写Excel的几种方法

1 使用Office自带的库 前提是本机须安装office才能运行,且不同的office版本之间可能会有兼容问题,从Nuget下载 Microsoft.Office.Interop.Excel 读写代码如下: 1 using Microsoft.Office.Interop.Excel; 2 using Excel = Microsoft.Offic...