VB读取文件夹里文件名称到EXCEL

2025-04-24 07:41:43
推荐回答(4个)
回答1:

For i = 0 To File1.ListCount - 1
File1.List(i) = Cells(i, 1)
Next i

你这个是让excel单元格里的内容变成file1列表的内容吧
另外,单元格的下标要从1开始的
换成cells(i+1,1)=file1.list1(i)看看

回答2:

首先,你指定的文件类型好象不对:*.xlsx应该是*.xls
其次,你的cells(i,1)值是怎么来的?
你提供的东西太少,没法帮你改

回答3:

关注

回答4:

File1.Path = "d:\hao" '指定一个文件夹
File1.Pattern = "*.xls" '指定文件类型
Dim i As Integer
Dim XlsApp As Excel.Application '定义Excel应用
Dim XlsBoo As Excel.Workbook '定义工作簿
Dim XlsSht As Excel.Worksheet '定义工作表
Set XlsApp = New Excel.Application '设置新的Excel应用
Set XlsBoo = XlsApp.Workbooks.Add '新建工作簿
Set XlsSht = XlsBoo.Worksheets(1) '设置工作表
XlsApp.Visible = True 'False '设置是否可见
XlsSht.Cells.HorizontalAlignment = xlCenter '单元格垂直居中
XlsSht.Cells.VerticalAlignment = xlCenter '单元格水平居中
XlsSht.Name = "工作表名" '设置工作表名
'XlsSht.Range(XlsSht.Cells(1, 1), XlsSht.Cells(1, 17)).Merge '合并单元格

For i = 0 To File1.ListCount - 1
XlsSht.Cells(i + 1, 1) = File1.List(i) '赋值给单元格
Next i

'XlsSht.Range(XlsSht.Cells(1, 1), XlsSht.Cells(1, 1)).Font.Bold = True '单元格字体,粗体
'XlsSht.Range(XlsSht.Cells(1, 1), XlsSht.Cells(Counter + 4, 17)).Font.Size = 10 '设置单元格字体大小
'XlsSht.Range(XlsSht.Cells(2, 1), XlsSht.Cells(Counter + 2, 17)).Borders.Color = vbBlack '添加边框

XlsApp.DisplayAlerts = False '不显示 是否替换当前文件提示框
XlsBoo.SaveAs "d:\hao\" & "文件名1.xls" '保存工作簿
XlsBoo.Close True, "文件名1" '关闭工作簿
XlsApp.Quit '关闭Excel应用
Set XlsSht = Nothing '关闭工作表应用
Set XlsBoo = Nothing '关闭工作簿应用
Set XlsApp = Nothing '关闭Excel应用

上述代码我已经调试过,可以将hao文件夹里的文件名称放到文件名为“文件名1”的EXCEL的单元格中去,不过要事先在工程中引用Mircsoft excel object library