Richard의 회사는 다른 많은 회사와 마찬가지로 Excel을 상당히 많이 사용합니다. 실제로 수년 동안 수집 한 수천 개의 Excel 통합 문서가 있습니다. Richard는 각 통합 문서를 개별적으로 열고 검사 할 필요없이 VBA 매크로가 포함 된 통합 문서를 찾을 수있는 방법이 필요합니다. 그는 이것을 할 수있는 쉬운 방법이 있는지 궁금합니다.

매크로가 포함 된 모든 통합 문서를 찾는 다소 간단한 방법 중 하나는 XLSM 또는 XLSB 확장명을 사용하는 파일을 찾는 것입니다.

매크로가 포함 된 통합 문서는 이러한 확장명을 사용하여 파일에 저장해야합니다. 100 % 완벽하지는 않지만 시작하기에 좋은 곳입니다.

Windows (Excel 외부)의 검색 기능을 사용할 수도 있습니다

“End Sub”또는 “End Function”텍스트가 포함 된 파일을 검색합니다. VBA 프로시 저는 끝에이 두 문 중 하나를 사용해야하므로 잠재적 인 후보 통합 문서를 빠르게 식별 할 수 있습니다.

레거시 통합 문서 (Excel 2003의 파일 형식을 사용하여 개발 된 문서)를 사용하는 경우 실제로 각 통합 문서 내부를 살펴 봐야합니다. 이는 프로그래밍 방식으로 수행 할 수 있습니다. 즉, 폴더의 각 통합 문서를 열고 그 안에 매크로가 있는지 검사하는 매크로를 가질 수 있습니다.

예를 들어 디렉터리의 각 파일을 단계별로 실행하고 파일이 Excel 통합 문서인지 확인하는 매크로를 만들 수 있습니다. 그런 다음 파일을 열고 그 안에 VBA 프로젝트가 있는지 확인할 수 있습니다.

Sub FindMacros()

Dim sPath As String     Dim sFile As String     Dim sFoundFiles As String

'specify directory to use - must end in "\"

sPath = "C:\MyData\Excel Data\"



sFile = Dir(sPath)

Do While sFile <> ""

If InStr(sFile, ".xls") > 0 Then             Workbooks.Open (sPath & sFile)

If Workbooks(sFile).HasVBProject Then                 sFoundFiles = sFoundFiles & sFile & vbCrLf             End If             Workbooks(sFile).Close (False)

End If         sFile = Dir     ' Get next filename     Loop     If Len(sFoundFiles) = 0 Then         MsgBox "No workbooks found that contain macros"

Else         sFoundFiles = "The following workbooks contain macros:" & _           vbCrLf & vbCrLf & sFoundFiles         MsgBox sFoundFiles     End If End Sub

이 예제에서는 HasVBProject 속성 (Excel 2007의 Excel 개체 모델에 도입 됨)을 사용하여 파일에 매크로가 있는지 여부를 확인합니다. 완료되면 매크로가 매크로가 포함 된 워크 시트를 나열하는 메시지 상자를 표시합니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (12466)은 Microsoft Excel 2007, 2010, 2013 및 2016에 적용됩니다.

Excel의 이전 메뉴 인터페이스에 대한이 팁의 버전은 여기에서 찾을 수 있습니다.

link : / excel-Finding_Workbooks_Containing_Macros [매크로가 포함 된 통합 문서 찾기].