[VBA]批量处理文件夹下的工作簿脚本

查看 21|回复 1
作者:哈利哈利斯   
以下案例是批量清理掉所选文件夹下所有excel工作薄所有工作表填充颜色的模块,可以在 清理颜色处添加或修改语句,实现其他功能。
Sub 清理填充颜色()
Dim strFolder As String
'选择文件夹模块
         With Application.FileDialog(msoFileDialogFolderPicker)
            .Title = "选择目标所在文件夹"
            .InitialFileName = "f:\"
           If .Show = False Then Exit Sub
             strFolder = .SelectedItems(1) & "\"
            
              Getfd (strFolder)
        End With
End Sub
Sub Getfd(ByVal pth)
    Set Fso = CreateObject("scripting.filesystemobject")
    Set ff = Fso.getfolder(pth)
       Application.DisplayAlerts = False
        Application.ScreenUpdating = False
        'For Each f In ff.Files
             'a = a & f
        'Next
       ' If a Like "*xls?" Then
        
         On Error Resume Next
        
             For Each f In ff.Files
                  
           
            
      
                Set wb = Workbooks.Open(f, 0)
               
                  For Each Sh In wb.Sheets
                     If Application.WorksheetFunction.CountA(Sh.Cells)  0 Then
                        Sh.UsedRange.Interior.ColorIndex = xlNone '清理填充颜色
                          
                  
                    End If
                     
                  
              Next
            
         
          wb.Close SaveChanges:=True
            
         
            
         Next f
         
        
'穿透下级文件夹
    For Each fd In ff.subfolders
        Getfd (fd)
    Next fd
        Application.DisplayAlerts = True
        Application.ScreenUpdating = True
    End Sub

文件夹, 颜色

哈利哈利斯
OP
  
'For Each f In ff.Files
             'a = a & f
        'Next
       ' If a Like "*xls?" Then
这里注释掉的代码无视掉就好,因为是随手写的代码,不太规范请见谅
您需要登录后才可以回帖 登录 | 立即注册

返回顶部