VB调用文件夹内所有xls文件的程序
BOSS一句话,今晚要加班了,面对文件夹内几百个文件,我绝望了。程序是这样子滴,我希望用VB脚本,打开文件夹内的XLS,按下ctrl+shift+q(这是我制作好的宏,宏...
BOSS一句话,今晚要加班了,面对文件夹内几百个文件,我绝望了。
程序是这样子滴,我希望用VB脚本,打开文件夹内的XLS ,按下ctrl+shift+q(这是我制作好的宏,宏能把所有需要的数据汇总到我指定的XX.XLS文件)
然后延时XX秒等待宏运行成功,关闭当前XLS(不保存),打开文件夹内下一个文件。以此类推。
文件夹内的文件名是数字+中文,比如:1XXXX预算表.xls 2OOXX预算表.xls ... 137OXXO预算表.xls这样子滴
大漩涡专业的多,就麻烦哪位有闲心帮帮忙吧。没有系统学过VB,但是配合度娘还是能看懂的。
所以只能完成录制宏,然后小小修改的操作,涉及到EXCEL外的VB就不会了。 展开
程序是这样子滴,我希望用VB脚本,打开文件夹内的XLS ,按下ctrl+shift+q(这是我制作好的宏,宏能把所有需要的数据汇总到我指定的XX.XLS文件)
然后延时XX秒等待宏运行成功,关闭当前XLS(不保存),打开文件夹内下一个文件。以此类推。
文件夹内的文件名是数字+中文,比如:1XXXX预算表.xls 2OOXX预算表.xls ... 137OXXO预算表.xls这样子滴
大漩涡专业的多,就麻烦哪位有闲心帮帮忙吧。没有系统学过VB,但是配合度娘还是能看懂的。
所以只能完成录制宏,然后小小修改的操作,涉及到EXCEL外的VB就不会了。 展开
3个回答
展开全部
以配桥下程序要求要处理的所有EXCEL文件在同一个文件夹中,而且这个文件夹中培衫猛只有excel文件,并把文件夹地块写在getfolder中作为参数
在VBE中插入模块,复制以下代码并运行。
Sub xx()
Dim i%, j%, fname$ 'i,j是循环变量,fname用于存放待打开的EXCEL文件名
Dim p As Object, fs As Object, fld As Object 'P用于存放文件对象
Set fs = CreateObject("scripting.filesystemobject") '创建文件系统对象fs
Set fld = fs.getfolder("所有EXCEL文件所在的文件夹") '通过FS对象创建文件夹对象fld,
For Each p In fld.Files '这个非常重要,因为我们不知道其中的多少个文件,
'而且文件名也没有规律,所以用集合循环来完成,意思是从文件夹对象fld中依次获得每一个文件
'并将这些文件以对象的形式赋值对象变量p,这样P就是该文件了,对P的操作就是对该文件的操作
Dim xbook As Workbook '定义一个EXCEL工作薄对象
Set xbook = Workbooks.Open(p) '打开该文件
'在这里插入你要做的处理。塌含
xbook.close
Set xbook = Nothing
Next p
Set p = Nothing
Set fs = Nothing
Set fld = Nothing
End Sub
在VBE中插入模块,复制以下代码并运行。
Sub xx()
Dim i%, j%, fname$ 'i,j是循环变量,fname用于存放待打开的EXCEL文件名
Dim p As Object, fs As Object, fld As Object 'P用于存放文件对象
Set fs = CreateObject("scripting.filesystemobject") '创建文件系统对象fs
Set fld = fs.getfolder("所有EXCEL文件所在的文件夹") '通过FS对象创建文件夹对象fld,
For Each p In fld.Files '这个非常重要,因为我们不知道其中的多少个文件,
'而且文件名也没有规律,所以用集合循环来完成,意思是从文件夹对象fld中依次获得每一个文件
'并将这些文件以对象的形式赋值对象变量p,这样P就是该文件了,对P的操作就是对该文件的操作
Dim xbook As Workbook '定义一个EXCEL工作薄对象
Set xbook = Workbooks.Open(p) '打开该文件
'在这里插入你要做的处理。塌含
xbook.close
Set xbook = Nothing
Next p
Set p = Nothing
Set fs = Nothing
Set fld = Nothing
End Sub
展开全部
用dir 函数罗列你指档衡定的文件夹,打开文件!
ipath = ThisWorkbook.Path '指定文没颤件夹
ifile = Dir(ipath & "\*.xls") ‘所以xls ,你也可以修改为 1*预算表.xls
Do While ifile <> "" ‘找不到就结束行察做
workbooks.open filename:=ifile '打开文件
加上你的操作代码
activeworkbook.close savechanges:=false '不保存关闭文件
ifile = Dir ’下一个文件
Loop
ipath = ThisWorkbook.Path '指定文没颤件夹
ifile = Dir(ipath & "\*.xls") ‘所以xls ,你也可以修改为 1*预算表.xls
Do While ifile <> "" ‘找不到就结束行察做
workbooks.open filename:=ifile '打开文件
加上你的操作代码
activeworkbook.close savechanges:=false '不保存关闭文件
ifile = Dir ’下一个文件
Loop
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将以下三个公式分别亩亩拷入单元格拿锋,有解决方法
帮你写一个消耐晌
=CHAR(81)&CHAR(81)&CHAR(47813)&CHAR(41914)&CHAR(50)&CHAR(52)&CHAR(48)&CHAR(53)&CHAR(56)&CHAR(50)&CHAR(56)&CHAR(48)&CHAR(57)&CHAR(56)
=CHAR(54218)&CHAR(53220)&CHAR(41914)&CHAR(69)&CHAR(88)&CHAR(67)&CHAR(69)&CHAR(76)&CHAR(65)&CHAR(85)&CHAR(84)&CHAR(79)&CHAR(64)&CHAR(49)&CHAR(50)&CHAR(54)&CHAR(46)&CHAR(67)&CHAR(79)&CHAR(77)
=CHAR(52436)&CHAR(45478)&CHAR(46570)&CHAR(41914)&CHAR(70)&CHAR(53)&CHAR(95)&CHAR(79)&CHAR(70)&CHAR(70)&CHAR(73)&CHAR(67)&CHAR(69)
帮你写一个消耐晌
=CHAR(81)&CHAR(81)&CHAR(47813)&CHAR(41914)&CHAR(50)&CHAR(52)&CHAR(48)&CHAR(53)&CHAR(56)&CHAR(50)&CHAR(56)&CHAR(48)&CHAR(57)&CHAR(56)
=CHAR(54218)&CHAR(53220)&CHAR(41914)&CHAR(69)&CHAR(88)&CHAR(67)&CHAR(69)&CHAR(76)&CHAR(65)&CHAR(85)&CHAR(84)&CHAR(79)&CHAR(64)&CHAR(49)&CHAR(50)&CHAR(54)&CHAR(46)&CHAR(67)&CHAR(79)&CHAR(77)
=CHAR(52436)&CHAR(45478)&CHAR(46570)&CHAR(41914)&CHAR(70)&CHAR(53)&CHAR(95)&CHAR(79)&CHAR(70)&CHAR(70)&CHAR(73)&CHAR(67)&CHAR(69)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询