繁体   English   中英

Excel宏查找替换文件夹中的所有文件

[英]Excel Macro Find Replace All Files in Folder

我想对以下文件夹中的所有excel文件(接近100个)实施此代码。

我在搜索代码,但无法找到正确的代码。 谁能帮我这个忙。

路径:“ D:\\ Files”

Cells.Replace What:=" (Task Complete)", Replacement:="", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
ActiveWorkbook.Save
ActiveWindow.Close
  • 步骤1:Excel宏打开文件
  • 步骤2:运行代码
  • 步骤3:关闭Excel
  • 步骤4:打开下一个Excel工作表。
  • 步骤5:步骤1到3,依此类推,直到最后一个文件。

以下假定包含此代码的工作簿与要更改的工作簿在同一文件夹中。

Option Explicit

Public Sub TaskCompleteReplace()
Dim lobjThisWorkBook As Workbook
Dim lobjOtherWorkbook As Workbook
Dim lobjWorksheet As Worksheet

Dim lstrFileSpec As String

Set lobjThisWorkBook = ThisWorkbook

lstrFileSpec = Dir(lobjThisWorkBook.Path + "\*.xls")
Do While Len(lstrFileSpec) > 0
    If InStr(lstrFileSpec, lobjThisWorkBook.Name) = 0 Then
        Workbooks.Open lobjThisWorkBook.Path + "\" + lstrFileSpec
        'Active workbook is now lstrFileSpec
        Set lobjOtherWorkbook = ActiveWorkbook
        For Each lobjWorksheet In lobjOtherWorkbook.Sheets
            Cells.Replace What:=" (Task Complete)", Replacement:="Test Replaced", LookAt:=xlPart, _
                SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                ReplaceFormat:=False
        Next
        Application.DisplayAlerts = False
        Set lobjWorksheet = Nothing
        lobjOtherWorkbook.Close SaveChanges:=True
        Application.DisplayAlerts = True
        lobjThisWorkBook.Activate
        Set lobjOtherWorkbook = Nothing
    End If
    lstrFileSpec = Dir
Loop

Set lobjThisWorkBook = Nothing

End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM