EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)Code: Select all
If ActiveWorkbook.Name = "BBB.xlsx" Then
MsgBox "True"
Else: MsgBox "False"
End If
Code: Select all
If OpenWorkbook.Name = "BBB.xlsx" Then
MsgBox "True"
Else: MsgBox "False"
End If
ลองปรับเป็นโค้ดนี้ครับ รันตัวCheckStatusapinomon wrote: Sun Mar 04, 2018 10:18 am สวัสดีครับ
คือว่าผมต้องการจะทราบว่ามีไฟล์ BBB.XLSX (ชื่อสมมติ) เปิดอยู่หรือไม่ โดยเขียดโค้ดในการค้นหาที่ ไฟล์ AAA.XLSM (ชื่อสมมติ) ครับ
ถ้าเปิดอยู่ให้แสดงกล่องข้อความว่า TRUE
ถ้าไม่ใช่ให้แสดงกล่องข้อความว่า False
ผมลองใช้โค้ดก็ไม่ได้ครับCode: Select all
If ActiveWorkbook.Name = "BBB.xlsx" Then MsgBox "True" Else: MsgBox "False" End If
และลองใช้ก็ Error ครับCode: Select all
If OpenWorkbook.Name = "BBB.xlsx" Then MsgBox "True" Else: MsgBox "False" End If
รบกวนแนะนำด้วยครับ
Code: Select all
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 CheckStatus()
Dim xRet As Boolean
xRet = IsWorkBookOpen("BBB.xlsx")
If xRet Then
MsgBox "True"
Else
MsgBox "False"
End If
End Sub
สามารถ Loop เข้าไปยังไฟล์ทุกไฟล์ที่เปิดอยู่แล้วตรวจสอบว่าเป็นไฟล์ที่ต้อการหรือไม่ตามตัวอย่าง Code ด้านล่างครับapinomon wrote: Sun Mar 04, 2018 10:18 am คือว่าผมต้องการจะทราบว่ามีไฟล์ BBB.XLSX (ชื่อสมมติ) เปิดอยู่หรือไม่ โดยเขียดโค้ดในการค้นหาที่ ไฟล์ AAA.XLSM (ชื่อสมมติ) ครับ
ถ้าเปิดอยู่ให้แสดงกล่องข้อความว่า TRUE
ถ้าไม่ใช่ให้แสดงกล่องข้อความว่า False
Code: Select all
Dim wb As Workbook
For Each wb In Workbooks
If wb.Name = "BBB.xlsx" Then
MsgBox "True"
Exit Sub
End If
Next wb
MsgBox "False""