انتقل إلى المحتوى الرئيسي

كيفية التحقق بسرعة مما إذا كان الملف (المصنف) مفتوحًا أو مغلقًا في Excel؟

يعمل Excel يوميًا ، فتفتح العديد من المصنفات في نفس الوقت للعمل ، ولكن في بعض الأحيان ، قد تعبث مئات المصنفات برأسك لتتذكر ما إذا كان مصنف معين مفتوحًا أم مغلقًا. تخلى عن الطريقة التقليدية لفحص الملفات واحدًا تلو الآخر ، هنا أقدم لك الحيل للعثور بسرعة على مصنف مفتوح أو مغلق.

تحقق مما إذا كان المصنف مفتوحًا أو مغلقًا باستخدام VBA

تحقق مما إذا كان المصنف مفتوحًا أو مغلقًا باستخدام Kutools for Excel فكرة جيدة 3


تحقق مما إذا كان المصنف مفتوحًا أو مغلقًا باستخدام VBA

إليك رمز VBA الذي يمكنك تشغيله للتحقق مما إذا كان مصنف معين مفتوحًا أم مغلقًا.

1. صحافة ALT + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

2. انقر إدراج > وحدة ثم انسخ VBA والصقه في ملف وحدة نافذة.

فبا: تحقق مما إذا كان المصنف مفتوحًا أم مغلقًا

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. والصحافة F5 مفتاح لتشغيل هذا vba ، وينبثق مربع حوار لتذكيرك بأن المصنف المحدد مفتوح أم لا.
doc تحقق مما إذا كان الملف مفتوحًا 1     doc تحقق مما إذا كان الملف مفتوحًا 2

تلميح: في VBA أعلاه ، "دمج"هو اسم المصنف الذي تريد التحقق منه ، يمكنك القيام بذلك حسب حاجتك.


تحقق مما إذا كان المصنف مفتوحًا أو مغلقًا باستخدام Kutools for Excel

إذا لم تكن معتادًا على VBA ، فيمكنك التحقق مما إذا كان المصنف مفتوحًا بواسطة كوتولس ل إكسيل، بما في ذلك قائمة الإختيارات ، الذي سيساعدك في عرض جميع المصنفات المفتوحة بوضوح في قائمة المصنفات في الجزء.

كوتولس ل إكسيل, مع أكثر من 300 وظائف يدوية ، تجعل مهامك أكثر سهولة. 

بعد تركيب مجاني Kutools for Excel ، يرجى القيام بما يلي:

1. انقر كوتولس > قائمة الإختيارات لتمكين جزء التنقل. انظر لقطة الشاشة:
doc تحقق مما إذا كان الملف مفتوحًا 3

2. ثم اضغط مصنف وورقة لتوسيع الجزء للانتقال إليه مصنف وورقة الجزء. ويمكنك عرض كافة المصنفات المفتوحة في القائمة العلوية. انظر لقطة الشاشة:
doc تحقق مما إذا كان الملف مفتوحًا 4

بدافع قائمة الإختيارات في الجزء ، يمكنك أيضًا التبديل بسرعة بين المصنفات أو الأوراق في القائمة.

انقر هنا لمعرفة المزيد عن التنقل.

أفضل أدوات إنتاجية المكتب

🤖 مساعد Kutools AI: إحداث ثورة في تحليل البيانات على أساس: التنفيذ الذكي   |  إنشاء التعليمات البرمجية  |  إنشاء صيغ مخصصة  |  تحليل البيانات وإنشاء الرسوم البيانية  |  استدعاء وظائف Kutools...
الميزات الشعبية: البحث عن التكرارات أو تمييزها أو تحديدها   |  حذف الصفوف الفارغة   |  دمج الأعمدة أو الخلايا دون فقدان البيانات   |   جولة بدون صيغة 
سوبر بحث: معايير متعددة VLookup    VLookup ذات القيمة المتعددة  |   VLookup عبر أوراق متعددة   |   بحث غامض ....
قائمة منسدلة متقدمة: إنشاء القائمة المنسدلة بسرعة   |  القائمة المنسدلة التابعة   |  قائمة منسدلة متعددة التحديد ....
مدير العمود: إضافة عدد محدد من الأعمدة  |  نقل الأعمدة  |  تبديل حالة رؤية الأعمدة المخفية  |  مقارنة النطاقات والأعمدة 
الميزات المميزة: التركيز على الشبكة   |  عرض تصميم   |   شريط الفورمولا الكبير    مدير المصنفات والأوراق   |  مكتبة الموارد (النص السيارات)   |  منتقي التاريخ   |  اجمع أوراق العمل   |  تشفير/فك تشفير الخلايا    إرسال رسائل البريد الإلكتروني عن طريق القائمة   |  سوبر تصفية   |   مرشح خاص (تصفية غامق / مائل / يتوسطه خط ...) ...
أفضل 15 مجموعة أدوات12 نص الأدوات (إضافة نص, إزالة الأحرف، ...)   |   +50 رسم الأنواع (مخطط جانت، ...)   |   40+ عملي الصيغ (احسب العمر على أساس تاريخ الميلاد، ...)   |   19 إدخال الأدوات (أدخل رمز الاستجابة السريعة, إدراج صورة من المسار، ...)   |   12 تحويل الأدوات (أرقام إلى كلمات, نتيجة تحويل عملة، ...)   |   7 دمج وتقسيم الأدوات (الجمع بين الصفوف المتقدمة, تقسيم الخلايا، ...)   |   ... و اكثر

عزز مهاراتك في Excel باستخدام Kutools for Excel، واختبر كفاءة لم يسبق لها مثيل. يقدم Kutools for Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية وتوفير الوقت.  انقر هنا للحصول على الميزة التي تحتاجها أكثر...

الوصف


يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
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