excel表格按地市汇总工具,自制的,哈哈


 想做这么一个东西想了很久了,之前考虑过c++,没有很合适的库,大部分库都处理不了合并单元格,写起来也很麻烦;后来考虑过python,且不说提供的库也不能处理合并单元格,看到各种编码就头大了,在用户机器上再装python也比较麻烦,后来一直就搁置了。


直到今年,我们有了wps的正版授权,并且有了技术支持,问技术支持要了一下api,发现例子都是vb的,调试直接用自带的vb编辑器也很方便,更难得的是,vbs在windows下用起来这么方便我怎么就没想到呢,马上开搞。


 有了合适的工具就会发现,搞起来还是很简单的,虽然平时事不少,vb以前也没碰过,不过抽空边查边搞,一个多星期就ok了,贴在这,有需要的可以拿回去参考



<span style="font-family: Arial, Helvetica, sans-serif;">dlist = array("营管部","青岛","淄博","枣庄","东营","烟台","潍坊","济宁","泰安","威海","日照","莱芜","临沂","德州","聊城","滨州","菏泽")</span>
strrow = cint(inputbox("请输入数据开始的行数(默认为3)","启动",3))
wrkrow = strrow

Set ws=WScript.CreateObject("wscript.shell")
w=ws.CurrentDirectory
Set fso=WScript.CreateObject("scripting.filesystemobject")
Set fs=fso.GetFolder(w)
Set f=fs.Files

Set ElApp=CreateObject("excel.application")
set el0=ElApp.workbooks.add
inited=0
for each ds in dlist
    t=t & ds &":" & vbcrlf
    flag=0
    For Each fl In f
        if ((instr(fl.name,ds)>0)and (fso.getextensionname(fl)="xls" or fso.getextensionname(fl)="et")) then
            call found()
            flag=1
        end if
    Next
    if flag = 0 then 
    	call notice(ds&"文件未找到!")
    end if    
next
ElApp.Visible=true
el0.SaveAs(fs.path&"\汇总.xls")


sub found()
	set el1=ElApp.workbooks.open(fl.path)
	height=el1.worksheets(1).UsedRange.Rows.Count
	width=el1.worksheets(1).UsedRange.Columns.Count
	if height<strrow then 
		call notice("请检查“"&fl.name&"”文件内容")
	else
		if (inited=0)and(strrow>1) then
			el1.worksheets(1).range(el1.worksheets(1).cells(1,1),el1.worksheets(1).cells(strrow-1,width)).copy(el0.worksheets(1).cells(1,1))
			inited=1
		end if
		el1.worksheets(1).range(el1.worksheets(1).cells(strrow,1),el1.worksheets(1).cells(height,width)).copy(el0.worksheets(1).cells(wrkrow,1))
		wrkrow=wrkrow+height-strrow+1
	end if
	el1.close
end sub

sub notice(content)
	with el0.worksheets(1).cells.item(wrkrow,1)
		.formula= content
		.font.color=255
	end with
	wrkrow=wrkrow+1	
end sub  



-----------------------------------------保存为“随便.vbs”放到需要汇总的文件夹里双击就ok了--------------------------------------------------------------


第一行可以根据需要汇总的内容自己改改,改成只有一个点的话就可以汇总文件夹下所有文件了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值