Note: The other languages of the website are Google-translated. Back to English

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.


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

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!
officetab botten
Sortera kommentarer efter
Kommentarer (5)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Utmärkt VBA, fungerar utmärkt. Tack.
Denna kommentar minimerades av moderatoren på webbplatsen
Wow, super VBA, enkelt och fungerar. Tack så mycket :)
Denna kommentar minimerades av moderatoren på webbplatsen
Vill bara se till att alla är medvetna om att funktionen "IsWorkBookOpen" bara kan se om en arbetsbok är öppen i den aktuella instansen av Excel. Om du har flera instanser öppna måste du köra den på varje instans för att vara säker på att arbetsboken (inte) är öppen, med endast den här koden.
Denna kommentar minimerades av moderatoren på webbplatsen
Tack för påminnelsen.
Denna kommentar minimerades av moderatoren på webbplatsen
Jag lägger till detta i min kod men jag har några problem...

Jag använder ur-funktionen för att kontrollera om en arbetsbok med jag tar lite information från redan är öppen eller inte, om den är öppen, makrot msgbox användaren, säger åt honom att stänga arbetsboken och starta om makrot, tills här, allt ok, Problemet är att efter att ha stängt arbetsboken och startat om makrot, säger det hela tiden att arbetsboken är öppen medan den inte är det, några tips?


Koda:


Sub Check_BKG()

Set wa = Ingenting

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

'------------------------------------------------ --------------------------------------------------'
'////////////////////////////CHECANDO SE EXSH JÁ ESTA ABERTO\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\'
'------------------------------------------------ --------------------------------------------------'
Dim xRet As Boolean
xRet = IsWorkBookOpen("EXSH0101.xlsx")
Om xRet Då
MsgBox "O arquivo EXSH0101 ja está aberto, por favor, feche or arquivo antes de executar a macro novamente.", vbInformation, "ERRO EXSH0101"
'MsgBox "EXSH0101-filen är redan öppen, stäng den innan du startar om makrot.", vbInformation, "EXSH0101 ERROR"
Exit Sub
End If
'------------------------------------------------ --------------------------------------------------'
'//////////////////////////////////////////\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
'------------------------------------------------ --------------------------------------------------'

Med Application
.EnableEvents = False
.ScreenUpdating = False
Sluta med

Ring Abrir_Arquivos

Ring Setando_EXSH

Ring Inserir_Formulas

Med Application
.EnableEvents = True
.ScreenUpdating = True
Sluta med

wb.Sheets("Infoga").Aktivera

End Sub
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL