Przejdź do głównej zawartości

Jak szybko sprawdzić, czy plik (skoroszyt) jest otwarty czy zamknięty w programie Excel?

Codzienna praca w programie Excel polega na otwieraniu wielu skoroszytów jednocześnie do pracy, ale czasami setki skoroszytów mogą zepsuć Ci głowę, aby pamiętać, czy określony skoroszyt jest otwarty, czy zamknięty. Porzuć tradycyjną metodę sprawdzania plików jeden po drugim, tutaj przedstawiam ci sztuczki, aby szybko znaleźć skoroszyt jako otwarty lub zamknięty.

Sprawdź, czy skoroszyt jest otwarty lub zamknięty za pomocą VBA

Sprawdź, czy skoroszyt jest otwarty lub zamknięty w Kutools for Excel dobry pomysł 3


Sprawdź, czy skoroszyt jest otwarty lub zamknięty za pomocą VBA

Oto kod VBA, który możesz uruchomić, aby sprawdzić, czy określony skoroszyt jest otwarty, czy zamknięty.

1. naciśnij Alt + F11 klucze do otwarcia Microsoft Visual Basic for Applications okno.

2. kliknij wstawka > Moduł a następnie skopiuj i wklej VBA do nowego Moduł okno.

VBA: Sprawdź, czy skoroszyt jest otwarty, czy zamknięty

Function IsWorkBookOpen(Name As String) As Boolean
    Dim xWb As Workbook
    On Error Resume Next
    Set xWb = Application.Workbooks.Item(Name)
    IsWorkBookOpen = (Not xWb Is Nothing)
End Function

Sub Sample()
    Dim xRet As Boolean
    xRet = IsWorkBookOpen("combine.xlsx")
    If xRet Then
        MsgBox "The file is open", vbInformation, "Kutools for Excel"
    Else
        MsgBox "The file is not open", vbInformation, "Kutools for Excel"
    End If
End Sub

3. I naciśnij F5 do uruchomienia tego VBA i pojawi się okno dialogowe przypominające, że określony skoroszyt jest otwarty, czy nie.
doc sprawdź, czy plik jest otwarty 1     doc sprawdź, czy plik jest otwarty 2

Wskazówka: W powyższym języku VBA „połączyć”To nazwa skoroszytu, którą chcesz sprawdzić, możesz to zrobić według potrzeb.


Sprawdź, czy skoroszyt jest otwarty lub zamknięty w Kutools for Excel

Jeśli nie znasz języka VBA, możesz sprawdzić, czy skoroszyt jest otwarty przez Kutools dla programu Excel, z jego Nawigacja okienko, które pomoże ci wyraźnie wyświetlić wszystkie otwarte skoroszyty na liście skoroszytów w okienku.

Po bezpłatna instalacja Kutools dla programu Excel, wykonaj poniższe czynności:

1. kliknij Kutools > Nawigacja aby włączyć okienko nawigacji. Zobacz zrzut ekranu:
doc sprawdź, czy plik jest otwarty 3

2. Następnie kliknij Skoroszyt i arkusz , aby rozwinąć okienko, do którego chcesz przejść Skoroszyt i arkusz Sekcja. Możesz wyświetlić wszystkie otwarte skoroszyty na górnej liście. Zobacz zrzut ekranu:
doc sprawdź, czy plik jest otwarty 4

Z Nawigacja okienku, możesz również szybko przełączać się między skoroszytami lub arkuszami na liście.

Kliknij tutaj, aby dowiedzieć się więcej o nawigacji.

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
Comments (6)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
It doesn't work when the file has macros
This comment was minimized by the moderator on the site
I add this to my code but im having some issues...

I use ur function to check if a workbook with i take some information from is already open or not, if it is open, the macro msgbox the user, telling him to close the workbook and restart the macro, till here, everything ok, the problem is, after closing the workbook and restarting the macro, it keeps saying the workbook is open while its not, any tips?


Code:


Sub Check_BKG()

Set wa = Nothing

Confirmação = MsgBox("Deseja realizar a checagem de dados?", vbYesNo + vbExclamation, "Aviso Macro")
If Confirmação = vbNo Then Exit Sub

'--------------------------------------------------------------------------------------------'
'////////////////////////////CHECANDO SE EXSH JÁ ESTA ABERTO\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
'--------------------------------------------------------------------------------------------'
Dim xRet As Boolean
xRet = IsWorkBookOpen("EXSH0101.xlsx")
If xRet Then
MsgBox "O arquivo EXSH0101 já está aberto, por favor, feche o arquivo antes de executar a macro novamente.", vbInformation, "ERRO EXSH0101"
'MsgBox "The EXSH0101 file is already open, please close it before restart the macro.", vbInformation, "EXSH0101 ERROR"
Exit Sub
End If
'--------------------------------------------------------------------------------------------'
'////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
'--------------------------------------------------------------------------------------------'

With Application
.EnableEvents = False
.ScreenUpdating = False
End With

Call Abrir_Arquivos

Call Setando_EXSH

Call Inserir_Formulas

With Application
.EnableEvents = True
.ScreenUpdating = True
End With

wb.Sheets("Inserir").Activate

End Sub
This comment was minimized by the moderator on the site
Just want to make sure everyone is aware, the "IsWorkBookOpen" function will only be able to tell if a workbook is open in the current instance of Excel. If you have multiple instances open you would need to run it on each instance to be sure the workbook is (not) open, using this code alone.
This comment was minimized by the moderator on the site
Thanks for your reminder.
This comment was minimized by the moderator on the site
Wow, super VBA, simple and works. Thank you very much :)
This comment was minimized by the moderator on the site
Excellent VBA, works great. Thanks.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations