帮忙写一个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
展开
 我来答
纵幸自3221
2016-10-17 · 超过17用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:13.6万
展开全部
如下两种方法可供选择: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
追问

第一个功能是

当前文件夹下有A2栏的.m2p就改成B2栏-C2栏.mpg

(就是如果有“A00200.m2p”,就改成“患难见真情-阿清.mpg”)

A3.m2p改成B3-C3.mpg

A4.m2p改成B4-C4.mpg

做个循环

第二个功能是相反的

当前文件夹下有B2-C2.mpg就改成A2.m2p

(如果有“患难见真情-阿清.mpg”,就改成“A00200.m2p”)

做个循环

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式