Salt la conținutul principal

Cum să verificați rapid dacă un fișier (registru de lucru) este deschis sau închis în Excel?

Excel lucru zilnic, deschideți mai multe registre de lucru în același timp pentru a lucra, dar uneori, sutele de registre de lucru vă pot încurca capul pentru a vă aminti dacă un anumit registru de lucru este deschis sau închis. Renunțați la metoda tradițională de verificare a fișierelor unul câte unul, aici vă prezint trucurile pentru a găsi rapid un registru de lucru deschis sau închis.

Verificați dacă un registru de lucru este deschis sau închis cu VBA

Verificați dacă un registru de lucru este deschis sau închis cu Kutools pentru Excel idee bună3


Verificați dacă un registru de lucru este deschis sau închis cu VBA

Iată un cod VBA pe care îl puteți rula pentru a verifica dacă un anumit registru de lucru este deschis sau închis.

1. presa Alt + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. clic Insera > Module și apoi copiați și lipiți VBA în noul Module fereastră.

VBA: Verificați dacă un registru de lucru este deschis sau închis

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 apăsați F5 tasta pentru a rula acest vba și apare un dialog pentru a vă reaminti că registrul de lucru specific este deschis sau nu.
doc verificați dacă un fișier este deschis 1     doc verificați dacă un fișier este deschis 2

Sfat: În VBA de mai sus, „combina”Este numele registrului de lucru pe care doriți să îl verificați, îl puteți face după cum aveți nevoie.


Verificați dacă un registru de lucru este deschis sau închis cu Kutools pentru Excel

Dacă nu sunteți familiarizat cu VBA, puteți verifica dacă un registru de lucru este deschis de Kutools pentru Excel, cu a lui Navigare , care vă va ajuta să vizualizați în mod clar toate registrele de lucru deschise în lista registrului de lucru al panoului.

Kutools pentru Excel, cu mai mult de 300 funcții la îndemână, vă face munca mai ușoară. 

După instalare gratuită Kutools pentru Excel, faceți următoarele:

1. clic Kutools > Navigare pentru a activa panoul de navigare. Vedeți captura de ecran:
doc verificați dacă un fișier este deschis 3

2. Apoi apasa Caiet de lucru și foaie pentru a extinde panoul la care accesați Caiet de lucru și foaie secțiune. Și puteți vizualiza toate registrele de lucru deschise în lista de sus. Vedeți captura de ecran:
doc verificați dacă un fișier este deschis 4

cu Navigare , puteți, de asemenea, să comutați rapid între registrele de lucru sau foile din listă.

Faceți clic aici pentru a afla mai multe despre navigare.

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

Descriere


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
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