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

통합 문서가 열려 있는지 확인하는 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))

스마트시트 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 뷰어 중 하나입니다.

아파치 오픈오피스

아파치 오픈오피스

Apache OpenOffice는 특히 Excel, PowerPoint 및 Word에서 Microsoft 365에 필적하는 완전한 Office 애플리케이션 제품군을 제공합니다. 프로젝트를 보다 효과적으로 관리할 수 있으며 다양한 파일 형식을 지원합니다.

iTaxviewer 1.8.7 다운로드

iTaxviewer 1.8.7 다운로드

iTaxViewer 소프트웨어는 오늘날 가장 널리 사용되는 XML 파일 읽기 소프트웨어입니다. 이 소프트웨어는 국세청의 XML 형식으로 된 전자 세금 신고서를 읽기 위한 애플리케이션입니다.

니트로 PDF 리더

니트로 PDF 리더

Nitro PDF Reader는 대부분의 사람들이 PDF 문서로 매일 수행하는 모든 기본 작업을 다루는 편리한 PDF 편집기입니다.

Foxit 리더 12

Foxit 리더 12

Foxit Reader는 기본적으로 PDF 리더이며 PDF 파일을 생성하고, 서명하고, 편집하고, 주석을 추가할 수도 있습니다. 운영 체제에서 작동하며 Microsoft Office 패키지의 다양한 프로그램에 대한 플러그인이 있습니다.