以下のコードは、ファイル名が命名規則に近いものであれば、開いているExcelファイルをループし、if文でコードを実行して、後で保存しますVBA Excel - .Windowは開いているExcelのウィンドウを認識しません
このコードはExcel 2003で動作しますが、Excelの各部ではなく、myWindow.Caption
は5つではなく1つのファイル名しか表示されません。私は2010年のすべてのファイルをループするのに何が欠けていますか?
FYI - 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つのウィンドウに "マージ"されます...各アイテムブックを開いて(開いているブック名をすべて取得する) –