帮忙写一个VBS读取Excel的内容,改文件名的批处理
读取A2的内容,修改成B2+C2的文件名="ren"&A2&".m2p"&B2&"-"&C2&".mpg"="ren"&A3&".m2p"&B3&"-"&C3&".mpg...
读取A2的内容,修改成B2+C2的文件名
="ren "&A2&".m2p "&B2&"-"&C2&".mpg"
="ren "&A3&".m2p "&B3&"-"&C3&".mpg"
后面的以此类推,循环下去
生成一个BAT文件,运行完成以后删除BAT
网上找了一个VBS读取Excel的
Set oexcel=CreateObject("excel.application")
Set obook=oexcel.Workbooks.Open("C:\批量修改文件名.xls")
Set osheet=obook.Sheets("sheet1")
'显示第一个工作表A1单元格数据
msgbox osheet.cells(1,1)
Set obook=Nothing
Set osheet=Nothing
oexcel.Quit 展开
="ren "&A2&".m2p "&B2&"-"&C2&".mpg"
="ren "&A3&".m2p "&B3&"-"&C3&".mpg"
后面的以此类推,循环下去
生成一个BAT文件,运行完成以后删除BAT
网上找了一个VBS读取Excel的
Set oexcel=CreateObject("excel.application")
Set obook=oexcel.Workbooks.Open("C:\批量修改文件名.xls")
Set osheet=obook.Sheets("sheet1")
'显示第一个工作表A1单元格数据
msgbox osheet.cells(1,1)
Set obook=Nothing
Set osheet=Nothing
oexcel.Quit 展开
1个回答
展开全部
如下两种方法可供选择:bat批量处理和VBA。
1、BAT批处理文件
A. 获取文件名
选定部分或全选所有文件 > Shift+右键 > 复制为路径 > 粘贴到Excel
B. 编辑命令符
l 替换文件名前的路径(全部替换)
l 生成如下字符(空格不可缺少): REN_原文件名_新文件名
可以使用EXCEL公式批量处理:
例如如下公式可将文件名前增加序列号1,2,3等。
=CONCATENATE("REN","",A1," ",ROW(A1),A1)生成批处理文件
C. 批处理
l 文件夹内新建txt文件
l 复制所有excel中编辑好的字符到txt文件中
l 文件扩展名更改为bat,运行。
2、VBA法
alt+F11,复制如下代码到代码栏,F5运行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub Rename_()
Dim my_Path, my_Doc As String
With Application.FileDialog(msoFileDialogFolderPicker) '定位文件夹
.Show
.AllowMultiSelect = False
my_Path = .SelectedItems(1)
End With
Dim i As Single
i = 1
my_Doc = Dir(my_Path & "\" & "*") '遍历所有文件
Do While Len(my_Doc) <> 0
Name my_Path & "\" & my_Doc As my_Path & "\" & i & my_Doc '更名:增加序号
i = i + 1
my_Doc = Dir
Loop
my_Doc = Dir(my_Path & "\" & "*")
i = 1
Do While Len(my_Doc) <> 0 '复制到excel
Cells(i, 1) = my_Doc
i = i + 1
my_Doc = Dir
Loop
1、BAT批处理文件
A. 获取文件名
选定部分或全选所有文件 > Shift+右键 > 复制为路径 > 粘贴到Excel
B. 编辑命令符
l 替换文件名前的路径(全部替换)
l 生成如下字符(空格不可缺少): REN_原文件名_新文件名
可以使用EXCEL公式批量处理:
例如如下公式可将文件名前增加序列号1,2,3等。
=CONCATENATE("REN","",A1," ",ROW(A1),A1)生成批处理文件
C. 批处理
l 文件夹内新建txt文件
l 复制所有excel中编辑好的字符到txt文件中
l 文件扩展名更改为bat,运行。
2、VBA法
alt+F11,复制如下代码到代码栏,F5运行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub Rename_()
Dim my_Path, my_Doc As String
With Application.FileDialog(msoFileDialogFolderPicker) '定位文件夹
.Show
.AllowMultiSelect = False
my_Path = .SelectedItems(1)
End With
Dim i As Single
i = 1
my_Doc = Dir(my_Path & "\" & "*") '遍历所有文件
Do While Len(my_Doc) <> 0
Name my_Path & "\" & my_Doc As my_Path & "\" & i & my_Doc '更名:增加序号
i = i + 1
my_Doc = Dir
Loop
my_Doc = Dir(my_Path & "\" & "*")
i = 1
Do While Len(my_Doc) <> 0 '复制到excel
Cells(i, 1) = my_Doc
i = i + 1
my_Doc = Dir
Loop
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |