Vba: 통합 문서가 열려 있는지 확인(예제 포함)


VBA에서 다음 구문을 사용하여 특정 통합 문서가 현재 열려 있는지 확인할 수 있습니다.

 SubCheckWorkbookOpen ()

Dim resultCheck As Boolean
Dim wb As Workbook
Dim specific_wb As String
    
On Error Resume Next
specific_wb = InputBox("Check if this workbook is open:")
    
Set wb = Application.Workbooks.Item(specific_wb)
resultCheck = Not wb Is Nothing

If resultCheck Then
    MsgBox “Workbook is open”
Else
MsgBox “Workbook is not open”
End If
    
End Sub

이 매크로가 실행되면 사용자가 Excel 통합 문서의 이름을 입력할 수 있는 입력 상자가 나타나고 매크로는 다음 결과 중 하나가 포함된 메시지 상자를 생성합니다.

  • “파일이 열려있습니다”
  • “파일이 열려있지 않습니다”

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: VBA를 사용하여 통합 문서가 열려 있는지 확인하는 방법

현재 다음 이름을 가진 두 개의 통합 문서가 열려 있다고 가정해 보겠습니다.

  • my_workbook1.xlsx
  • my_workbook2.xlsx

my_workbook1.xlsx 라는 통합 문서가 현재 열려 있는지 확인하고 싶다고 가정해 보겠습니다.

이를 위해 다음 매크로를 생성할 수 있습니다:

 SubCheckWorkbookOpen ()

Dim resultCheck As Boolean
Dim wb As Workbook
Dim specific_wb As String
    
On Error Resume Next
specific_wb = InputBox("Check if this workbook is open:")
    
Set wb = Application.Workbooks.Item(specific_wb)
resultCheck = Not wb Is Nothing

If resultCheck Then
    MsgBox “Workbook is open”
Else
MsgBox “Workbook is not open”
End If
    
End Sub

이 매크로를 실행하면 입력 상자에 my_workbook1.xlsx를 입력할 수 있는 상자가 나타납니다.

확인을 클릭하면 매크로가 다음 메시지 상자를 생성합니다.

매크로는 “통합 문서가 열려 있음”을 올바르게 표시하여 해당 이름의 통합 문서가 현재 열려 있음을 나타냅니다.

이제 현재 열려 있지 않은 통합 문서의 이름을 입력했다고 가정해 보겠습니다.

확인을 클릭하면 매크로가 다음 메시지 상자를 생성합니다.

매크로는 해당 이름의 통합 문서가 현재 열려 있지 않음을 나타내기 위해 “통합 문서가 열려 있지 않음”을 올바르게 표시합니다.

추가 리소스

다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

VBA: 통합 문서의 시트 수를 계산하는 방법
VBA: 여러 열을 삽입하는 방법
VBA:여러 줄을 삽입하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다