ไปยังเนื้อหาหลัก

วิธีตรวจสอบอย่างรวดเร็วว่าไฟล์ (สมุดงาน) เปิดหรือปิดใน Excel หรือไม่?

การทำงานประจำวันของ Excel คุณจะเปิดสมุดงานหลาย ๆ เล่มพร้อมกันเพื่อทำงาน แต่บางครั้งสมุดงานหลายร้อยเล่มอาจทำให้คุณจำไม่ได้ว่ามีการเปิดหรือปิดสมุดงานใด เลิกใช้วิธีการแบบเดิมในการตรวจสอบไฟล์ทีละไฟล์ที่นี่ฉันแนะนำเคล็ดลับในการค้นหาเวิร์กบุ๊กที่เปิดหรือปิดอย่างรวดเร็ว

ตรวจสอบว่าเวิร์กบุ๊กเปิดหรือปิดด้วย VBA

ตรวจสอบว่าเวิร์กบุ๊กเปิดหรือปิดด้วย Kutools for Excel ความคิดที่ดี 3


ตรวจสอบว่าเวิร์กบุ๊กเปิดหรือปิดด้วย VBA

นี่คือรหัส VBA ที่คุณสามารถเรียกใช้เพื่อตรวจสอบว่าสมุดงานนั้นเปิดหรือปิดอยู่หรือไม่

1 กด Alt + F11 กุญแจเพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2 คลิก สิ่งที่ใส่เข้าไป > โมดูล จากนั้นคัดลอกและวาง VBA ลงในไฟล์ โมดูล หน้าต่าง

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 คุณสามารถตรวจสอบว่ามีการเปิดสมุดงานอยู่หรือไม่ Kutools สำหรับ Excelด้วยของ การเดินเรือ บานหน้าต่างซึ่งจะช่วยให้คุณสามารถดูสมุดงานที่เปิดอยู่ทั้งหมดในรายการสมุดงานของบานหน้าต่างได้อย่างชัดเจน

Kutools สำหรับ Excel, ที่มีมากกว่า 300 ฟังก์ชั่นที่มีประโยชน์ทำให้งานของคุณง่ายขึ้น 

หลังจาก ติดตั้งฟรี Kutools สำหรับ Excel โปรดทำดังนี้:

1 คลิก Kutools > การเดินเรือ เพื่อเปิดใช้งานบานหน้าต่างนำทาง ดูภาพหน้าจอ:
doc ตรวจสอบว่าไฟล์เปิด 3

2 จากนั้นคลิก สมุดงานและแผ่นงาน เพื่อขยายบานหน้าต่างเพื่อไปที่ สมุดงานและแผ่นงาน มาตรา. และคุณสามารถดูสมุดงานที่เปิดอยู่ทั้งหมดในรายการด้านบน ดูภาพหน้าจอ:
doc ตรวจสอบว่าไฟล์เปิด 4

กับ การเดินเรือ บานหน้าต่างคุณยังสามารถสลับไปมาระหว่างสมุดงานหรือแผ่นงานในรายการได้อย่างรวดเร็ว

คลิกที่นี่เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการนำทาง

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

🤖 Kutools AI ผู้ช่วย: ปฏิวัติการวิเคราะห์ข้อมูลโดยยึดตาม: การดำเนินการที่ชาญฉลาด   |  สร้างรหัส  |  สร้างสูตรที่กำหนดเอง  |  วิเคราะห์ข้อมูลและสร้างแผนภูมิ  |  เรียกใช้ฟังก์ชัน Kutools...
คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...

รายละเอียด


แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, 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