下面的代碼通過打開的excel文件循環,如果文件名是命名約定接近的話,它將運行if語句中的代碼,以便文件可以稍後保存VBA Excel - .Window無法識別打開的Excel窗口
此代碼適用於Excel 2003,但不適用於Excel 2010,查看代碼的每個部分myWindow.Caption
只顯示1個文件名,而不是5個文件名。我錯過了什麼來循環2010年的所有文件?
僅供參考 - 有For
循環的多個實例,但因爲它都是相同的代碼,我沒有粘貼在這裏。讓我知道如果你想要它,但它是足夠接近相同
Sub File_Saver()
Dim iFileCount As Integer
Dim myWindow As Window
Dim r As Integer
With Application
.DisplayAlerts = False
.ScreenUpdating = False
End With
For Each myWindow In Application.Windows
If LCase(myWindow.Caption) Like LCase("CHL?ISS*") Then
iFileCount = 1
r = 21
myWindow.Activate
'Set Column
c = B
GoTo Continue
Exit For
End If
Next myWindow
要正常工作,您需要運行應用程序的多個實例...只需打開所有文件,通常會將它合併到1個窗口(帶有實際活動工作簿的標題)...您應該爲每個項目運行然後在工作簿中(獲取所有打開的工作簿名稱) –