통합 문서가 열려 있는지 확인하는 Excel 매크로

Excel 통합 문서를 자동으로 여는 것에 대해 생각할 때 이미 열려 있는 책을 열려고 하면 어떻게 되는지 생각해 보십시오. 비 VBA 세계에서 Excel은 저장하지 않은 변경 사항이 손실된다는 경고 메시지와 함께 파일을 다시 열려고 시도합니다. 다시 열기를 시도하기 전에 주어진 파일이 이미 열려 있는지 확인하여 이러한 상황을 방지할 수 있습니다.

통합 문서가 열려 있는지 확인하는 Excel 매크로

이 경고 메시지를 피하십시오.

매크로 작동 방식

이 매크로에 대해 가장 먼저 알아차릴 것은 Sub 프로시저가 아니라 함수라는 것입니다. 보시겠지만 이 매크로를 함수로 만들면 파일 이름을 전달하여 해당 파일이 이미 열려 있는지 테스트할 수 있습니다.

이 코드의 요지는 간단합니다. 주어진 파일 이름을 테스트하여 Object 변수에 할당할 수 있는지 확인합니다. 열린 통합 문서만 Object 변수에 할당할 수 있습니다. 닫힌 통합 문서를 변수에 할당하려고 하면 오류가 발생합니다.

주어진 통합 문서를 할당할 수 있는 경우 통합 문서가 열려 있습니다. 오류가 발생하면 통합 문서가 닫힙니다.

함수 FileIsOpenTest(TargetWorkbook As String) As Boolean
'1단계: 변수 선언
    Dim TestBook을 통합 문서로
'2단계: Excel에 오류 발생 시 다시 시작하도록 지시
    오류 시 다음 재개
'3단계: 대상 통합 문서를 TestBook에 할당해 봅니다.
    TestBook 설정 = Workbooks(TargetWorkbook)
'4단계: 오류가 발생하지 않은 경우 통합 문서가 이미 열려 있습니다.
    Err.Number = 0이면
    FileIsOpenTest = 참
    또 다른
    FileIsOpenTest = 거짓
    종료
종료 기능

매크로가 가장 먼저 하는 일은 사용자가 선택한 파일 이름을 저장할 문자열 변수를 선언하는 것입니다. TestBook은 문자열 변수의 이름입니다.

2단계에서 Excel에 이 코드를 실행하는 동안 오류가 있을 수 있음을 알리고 오류가 발생하면 코드를 다시 시작합니다. 이 줄이 없으면 오류가 발생하면 코드가 중지됩니다. 다시 한 번 주어진 파일 이름을 테스트하여 Object 변수에 할당할 수 있는지 확인합니다. 주어진 통합 문서를 할당할 수 있는 경우 열려 있습니다. 오류가 발생하면 닫힙니다.

3단계에서 주어진 통합 문서를 TestBook Object 변수에 할당하려고 시도합니다. 할당하려는 통합 문서는 TargetWorkbook이라는 문자열 변수입니다. TargetWorkbook은 함수 선언의 함수에 전달됩니다(코드의 첫 번째 줄 참조). 이 구조를 사용하면 통합 문서 이름을 하드 코딩할 필요가 없으므로 대신 변수로 전달할 수 있습니다.

4단계에서는 오류가 발생했는지 확인하기만 하면 됩니다. 오류가 발생하지 않은 경우 통합 문서가 열려 있으므로 FileIsOpenTest를 True로 설정합니다. 오류가 발생한 경우 통합 문서가 열려 있지 않고 FileIsOpenTest를 False로 설정합니다.

다시 말하지만, 이 함수는 TargetWorkbook 인수를 통해 전달한 모든 파일을 평가하는 데 사용할 수 있습니다. 이것이 매크로를 함수에 넣는 것의 아름다움입니다.

다음 매크로는 이 기능을 구현하는 방법을 보여줍니다. 여기에서 새로운 FileIsOpenTest 함수를 호출하여 사용자가 이미 열려 있는 파일을 열 수 없도록 합니다.

하위 매크로1()

'1단계: 문자열 변수 정의

    Dim FName As Variant

    Dim FNFileOnly As String

'2단계: GetOpenFilename 메서드가 대화 상자를 활성화합니다.

    FName = 응용 프로그램.GetOpenFilename( _

            FileFilter:="Excel 통합 문서,*.xl*", _

            Title:="열릴 통합 문서 선택", _

            다중 선택:=거짓)

'3단계: 아직 열지 않은 경우 선택한 파일을 엽니다.

    FName <> False이면

    FNFileOnly = StrReverse(Left(StrReverse(FName), _

                 InStr(StrReverse(FName), ") - 1))

Leave a Comment

Excel에서 산점도를 만드는 방법

Excel에서 산점도를 만드는 방법

Excel에서 회귀 분석을 통해 데이터 간의 관계를 탐색하고 시각적으로 분석하는 방법을 알아보세요. 다양한 단계를 따라 쉽게 산점도를 만들 수 있습니다.

Microsoft 365 Business: Azure Information Protection을 구성하는 방법

Microsoft 365 Business: Azure Information Protection을 구성하는 방법

이 가이드를 사용하여 LuckyTemplates.com에서 Azure Information Protection을 효과적으로 구성하는 방법을 알아보세요.

SharePoint를 Power BI와 통합하는 방법

SharePoint를 Power BI와 통합하는 방법

SharePoint와 Power BI 통합 방법 및 LuckyTemplates.com에서 보고서를 SharePoint 사이트에 연결하는 다양한 방법에 대해 알아보세요.

PowerPoint 슬라이드에서 펜 및 형광펜 그림 지우기

PowerPoint 슬라이드에서 펜 및 형광펜 그림 지우기

프레젠테이션 중 펜 혹은 형광펜을 사용하여 PowerPoint 슬라이드에 그린 경우, 사용자가 다음 프레젠테이션을 위해 그림을 저장하거나 쉽게 지울 수 있도록 하는 방법을 알립니다.

스마트시트 9.1.1

스마트시트 9.1.1

Smartsheet는 프로젝트를 관리하고, 워크플로를 구축하고, 팀과 협업할 수 있는 동적 작업 플랫폼입니다.

공유 지점

공유 지점

SharePoint는 다양한 워크플로 응용 프로그램, "목록" 데이터베이스 및 기타 웹 구성 요소는 물론 보안 기능을 사용하여 비즈니스 그룹의 공동 작업을 제어하는 ​​웹 기반 공동 작업 시스템입니다.

퍼페추얼 캘린더 1.0.38/1.0.36

퍼페추얼 캘린더 1.0.38/1.0.36

반니엔 캘린더(Van Nien Calendar)는 휴대폰에서 달력 보기 애플리케이션으로, 휴대폰에서 태음태양일을 빠르게 확인하고 중요한 업무를 정리할 수 있도록 도와줍니다.

마이크로소프트 아웃룩 2021

마이크로소프트 아웃룩 2021

Microsoft Outlook은 Microsoft Corporation에서 개발한 비즈니스 및 생산성 응용 프로그램입니다.

클릭업

클릭업

ClickUp은 모든 비즈니스에서 가장 높은 평가를 받는 생산성 플랫폼 중 하나입니다. Google, Booking.com, San Diego Padres 및 Uber와 같은 대기업은 모두 ClickUp을 사용하여 직장 생산성을 높입니다.

PDF-XChange 뷰어 2.5.322.10

PDF-XChange 뷰어 2.5.322.10

PDF는 텍스트 문서를 읽고, 만들고, 보내는 데 일반적으로 사용되는 형식이 되었습니다. 결과적으로 이러한 유형의 문서화에 사용되는 프로그램 수가 증가했습니다. PDF-XChange Viewer는 점점 더 많은 PDF 뷰어 중 하나입니다.