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