Hoppa till huvudinnehåll

Hur kontrollerar jag snabbt om en fil (arbetsbok) är öppen eller stängd i Excel?

Excel dagligt arbete, du öppnar flera arbetsböcker samtidigt för att arbeta, men ibland kan hundratals arbetsböcker förstöra ditt huvud för att komma ihåg om en viss arbetsbok är öppen eller stängd. Ge upp den traditionella metoden för att kontrollera filer en efter en, här introducerar jag dig knep för att snabbt hitta en arbetsbok är öppen eller stängd.

Kontrollera om en arbetsbok är öppen eller stängd med VBA

Kontrollera om en arbetsbok är öppen eller stängd med Kutools för Excel bra idé3


Kontrollera om en arbetsbok är öppen eller stängd med VBA

Här är en VBA-kod som du kan köra för att kontrollera om en specifik arbetsbok är öppen eller stängd.

1. Tryck Alt + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. klick Insert > Modulerna och sedan kopiera och klistra in VBA till den nya Modulerna fönster.

VBA: Kontrollera om en arbetsbok är öppen eller stängd

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. Och tryck F5 för att köra denna vba, och en dialogruta dyker upp för att påminna dig om att den specifika arbetsboken är öppen eller inte.
doc kontrollera om en fil är öppen 1     doc kontrollera om en fil är öppen 2

Dricks: I ovanstående VBA, “kombinera”Är namnet på arbetsboken du vill kontrollera, du kan göra det efter behov.


Kontrollera om en arbetsbok är öppen eller stängd med Kutools för Excel

Om du inte känner till VBA kan du kontrollera om en arbetsbok är öppen för Kutools för Excel, med dess Navigering rutan, vilket hjälper dig att tydligt visa alla öppna arbetsböcker i rutan arbetsbok.

Kutools för Excel, med mer än 300 praktiska funktioner, gör dina jobb enklare. 

Efter gratis installation Kutools för Excel, gör så här:

1. klick Kutools > Navigering för att aktivera navigeringsfönstret. Se skärmdump:
doc kontrollera om en fil är öppen 3

2. Klicka sedan Arbetsbok och ark -knappen för att expandera rutan du vill gå till Arbetsbok och ark sektion. Och du kan se alla öppna arbetsböcker i den övre listan. Se skärmdump:
doc kontrollera om en fil är öppen 4

Med Navigering kan du också snabbt växla mellan arbetsböcker eller ark i listan.

Klicka här om du vill veta mer om navigering.

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

Beskrivning


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
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