VB调用文件夹内所有xls文件的程序

发布网友 发布时间:2022-04-21 08:56

我来回答

3个回答

热心网友 时间:2023-05-23 18:43

以下程序要求要处理的所有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

热心网友 时间:2023-05-23 18:44

用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

热心网友 时间:2023-05-23 18:44

将以下三个公式分别拷入单元格,有解决方法
帮你写一个

=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()&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)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com