如何讲excel里面的文件名批处理重命名到文件夹上面?
比如文件夹名是这个EXCEL里面的文件价名包含文件名需要把EXCEL里面的全名替换到文件夹的名字上去...
比如文件夹名是这个 EXCEL里面的文件价名包含文件名 需要把EXCEL里面的全名替换到文件夹的名字上去
展开
展开全部
可以用VBA处理。
就是用旧文件名打卡文件。
再保存成新文件名。
如果你懂VBA(宏)试试修改下面的代码。
如果不懂,真就爱莫能助了。
Sub Macro1()
For i = 1 To [a65536].End(xlUp).Row
' A列为旧文件名, B列为新文件名。 循环A列第一个到最后一个
On Error Resume Next
'出现错误则跳转下一句
Workbooks.Open Filename:="d:\My Documents\" & Range("a" & i) & ".xls"
'打卡d:\My Documents\文件夹下面的A列中的文件。
ActiveWorkbook.SaveAs Filename:="D:\My Documents1\" & Range("b" & i) & ".xls"
'将当前文件另存为B列中的名称并保存到d:\My Documents1\文件夹下
ActiveWorkbook.Close
'关闭当前文件。
Next
End Sub
就是用旧文件名打卡文件。
再保存成新文件名。
如果你懂VBA(宏)试试修改下面的代码。
如果不懂,真就爱莫能助了。
Sub Macro1()
For i = 1 To [a65536].End(xlUp).Row
' A列为旧文件名, B列为新文件名。 循环A列第一个到最后一个
On Error Resume Next
'出现错误则跳转下一句
Workbooks.Open Filename:="d:\My Documents\" & Range("a" & i) & ".xls"
'打卡d:\My Documents\文件夹下面的A列中的文件。
ActiveWorkbook.SaveAs Filename:="D:\My Documents1\" & Range("b" & i) & ".xls"
'将当前文件另存为B列中的名称并保存到d:\My Documents1\文件夹下
ActiveWorkbook.Close
'关闭当前文件。
Next
End Sub
展开全部
Sub ReNameDir()
Dim pt: pt = ActiveWorkbook.Path '当前工作薄所在目录,可以改为绝对路径,如"c:\windows"
'--------查找文件夹 开始-------
Dim d, f
Set d = CreateObject("scripting.dictionary")
f = Dir(pt & "\", vbDirectory)
Do While f <> ""
If f <> "." And f <> ".." Then
If GetAttr(pt & "\" & f) And vbDirectory Then d.Add f, f
End If
f = Dir
Loop
If d.Count = 0 Then MsgBox pt & " 下面没有找到任何文件夹!", vbCritical: Exit Sub
'--------重命名 开始------------
Dim c As Range, i&, k, iOk, iNo, sOk, sNo
Set iOk = CreateObject("scripting.dictionary")
Set iNo = CreateObject("scripting.dictionary")
k = d.keys
On Error Resume Next
With [A1].EntireColumn '名字所在位置,即A列,更改[]中内容
For i = 0 To d.Count - 1
Set c = .Find(k(i), , xlValues, xlPart)
If c Is Nothing Then
iNo.Add k(i), k(i)
Else
Name pt & "\" & k(i) As pt & "\" & c.Value
If Err.Number <> 0 Then
iNo.Add k(i), k(i)
Err.Clear
Else
iOk.Add k(i), k(i)
End If
End If
Next i
End With
sOk = iOk.items
MsgBox "重命名成功 " & iOk.Count & " 个:" & Chr(10) & Join(sOk, Chr(10))
sNo = iNo.items
MsgBox "重命名失败 " & iNo.Count & " 个:" & Chr(10) & Join(sNo, Chr(10))
End Sub
Dim pt: pt = ActiveWorkbook.Path '当前工作薄所在目录,可以改为绝对路径,如"c:\windows"
'--------查找文件夹 开始-------
Dim d, f
Set d = CreateObject("scripting.dictionary")
f = Dir(pt & "\", vbDirectory)
Do While f <> ""
If f <> "." And f <> ".." Then
If GetAttr(pt & "\" & f) And vbDirectory Then d.Add f, f
End If
f = Dir
Loop
If d.Count = 0 Then MsgBox pt & " 下面没有找到任何文件夹!", vbCritical: Exit Sub
'--------重命名 开始------------
Dim c As Range, i&, k, iOk, iNo, sOk, sNo
Set iOk = CreateObject("scripting.dictionary")
Set iNo = CreateObject("scripting.dictionary")
k = d.keys
On Error Resume Next
With [A1].EntireColumn '名字所在位置,即A列,更改[]中内容
For i = 0 To d.Count - 1
Set c = .Find(k(i), , xlValues, xlPart)
If c Is Nothing Then
iNo.Add k(i), k(i)
Else
Name pt & "\" & k(i) As pt & "\" & c.Value
If Err.Number <> 0 Then
iNo.Add k(i), k(i)
Err.Clear
Else
iOk.Add k(i), k(i)
End If
End If
Next i
End With
sOk = iOk.items
MsgBox "重命名成功 " & iOk.Count & " 个:" & Chr(10) & Join(sOk, Chr(10))
sNo = iNo.items
MsgBox "重命名失败 " & iNo.Count & " 个:" & Chr(10) & Join(sNo, Chr(10))
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以上说的太麻烦了,而且容易出错,建议你直接新建文件夹后再用粘贴的方式重命名文件夹名称,这样保证准确性。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用BFCN1.0 批量修改文件名的软件,该软件可以将整个文件夹包括里面文档的文件名都导入到一个EXCEL表格里面,然后你就可以在excel中进行批量修改,然后点击确定保存 文件名均改好。很方便的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |