Vba: jak uzyskać listę wszystkich otwartych skoroszytów
Możesz użyć pętli For Each w VBA, aby uzyskać listę wszystkich otwartych skoroszytów programu Excel.
Oto typowy sposób na zrobienie tego w praktyce:
Sub ListAllOpenWorkbooks()
Dim wbName As String
Dim wb As Workbook
'add each open workbook to message box
For Each wb In Application.Workbooks
wbName = wbName & wb.Name & vbCrLf
Next
'display message box with all open workbooks
MsgBox wbName
End Sub
To konkretne makro wygeneruje okno komunikatu zawierające listę wszystkich otwartych skoroszytów programu Excel.
Poniższy przykład pokazuje, jak w praktyce wykorzystać to makro.
Przykład: Uzyskaj listę wszystkich otwartych skoroszytów za pomocą języka VBA
Załóżmy, że aktualnie otwarte są następujące trzy skoroszyty programu Excel:
- baseball_data.xlsx
- football_data.xlsx
- hockey_data.xlsx
Załóżmy, że chcemy użyć języka VBA do wyświetlenia listy nazw wszystkich otwartych skoroszytów.
W tym celu możemy utworzyć następujące makro:
Sub ListAllOpenWorkbooks()
Dim wbName As String
Dim wb As Workbook
'add each open workbook to message box
For Each wb In Application.Workbooks
wbName = wbName & wb.Name & vbCrLf
Next
'display message box with all open workbooks
MsgBox wbName
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
W oknie komunikatu wyświetlane są nazwy każdego otwartego skoroszytu, a każdy unikatowy skoroszyt znajduje się w osobnym wierszu.
Zauważ, że użyliśmy stałej vbCrLf w pętli For Each , aby wstawić znak powrotu karetki, który przenosi kursor do następnego wiersza.
Dzięki temu mogliśmy wyświetlić listę każdego otwartego skoroszytu w osobnym wierszu w oknie komunikatu.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
Jak zmienić nazwę pliku za pomocą VBA
Jak wyświetlić listę plików w folderze za pomocą VBA
Jak otworzyć wszystkie pliki w folderze za pomocą VBA
Jak sprawdzić, czy plik istnieje za pomocą VBA