VBA批量修改文件夹里所有文件
Private Sub CommandButton1_Click()
On Error Resume Next
    文件目录 = ThisWorkbook.Path & "\Excel\"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fldr = fso.GetFolder(文件目录)
    For Each s In fldr.Files
        With GetObject(文件目录 & s.Name)
            .Sheets(1).Cells.Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False    '随便做一点改动
            .SaveAs ThisWorkbook.Path & "\Excel_修改后\" & s.Name    '保存
            .Windows(1).Visible = True    '工作表可见
            .Close (True)    '保存改动
        End With
    Next
End Sub
			
			
									
									
						VBA批量修改文件夹里所有文件
Re: VBA批量修改文件夹里所有文件
For n = 1 To UBound(f)
With GetObject(f(n)) 'getobject是隐藏的
.Sheets("121").UsedRange.Copy ActiveSheet.Range("a" & Rows.Count).End(xlUp).Offset(1)
.Close '关闭的是vbe窗口里不显示工作簿
End With
Next
			
			
									
									
						With GetObject(f(n)) 'getobject是隐藏的
.Sheets("121").UsedRange.Copy ActiveSheet.Range("a" & Rows.Count).End(xlUp).Offset(1)
.Close '关闭的是vbe窗口里不显示工作簿
End With
Next
Re: VBA批量修改文件夹里所有文件
通过getobject打开的Excel文件只要被修改(写)并保存后,就只能在VBE中看到,但用户界面却看不到。
就算重启Excel,再去手动打开此文件,也是什么都看不到。不保存就没有这个问题!
如果要解决这个问题,必须在wb.close 前加一句
Application.Windows(wb.name).Visible = True
			
			
									
									
						就算重启Excel,再去手动打开此文件,也是什么都看不到。不保存就没有这个问题!
如果要解决这个问题,必须在wb.close 前加一句
Application.Windows(wb.name).Visible = True