Sub rename() For i = 1 To Sheets.Count Sheets(i).Name = Sheets(i).Cells(4,1).Value Next End Sub 以上代码实现工作表以第4行第1列Cells(4, 1)命名
我目标是:运行时选择文件夹 批量选择文件 改名 完成关闭
请高手 指点
本帖最后由 suye1010 于 2014-12-15 18:10 编辑
- Dim EAPP,TEMPwb,i,Shell,ObjectPath,FolderPath,FSO,FSOFolder,FSOFile
- Set EAPP=CreateObject("Excel.Application")
- Set Shell = CreateObject("Shell.Application")
- Set ObjectPath = Shell.BrowseForFolder(0, "请选择工作表的所在的文件夹", 0, 0)
- If ObjectPath Is Nothing Then
- Wscript.Quit
- End If
- FolderPath=ObjectPath.Self.Path
- Set FSO = CreateObject("Scripting.FileSystemObject")
- Set FSOFolder = FSO.GetFolder(FolderPath)
- For Each FSOFile In FSOFolder.Files
- Set TEMPwb=EAPP.Workbooks.Open(FSOFile)
- For i=1 to TEMPwb.Worksheets.Count
- TEMPwb.Sheets(i).Name=TEMPwb.Sheets(i).Cells(4,1).Value
- TEMPWB.Close True
- Next
- Next
- Msgbox "已完成"&FolderPath&"文件夹下工作表改名"
- EAPP.Quit
复制代码复制粘贴到记事本,另存为.vbs文件,双击运行即可
|