일부 매크로의 경우 매크로가 작동하는 특정 컴퓨터를 확인할 수있는 방법이 있는지 확인해야 할 수 있습니다. 예를 들어, D : \ OraNT \ Plus33에 특정 디렉토리가있는 데스크탑 PC가 있고 노트북 PC에는 C : \ OraNT \ Plus33에 디렉토리가있을 수 있습니다. 물론 매크로는 처리에 사용할 디렉토리를 알 수 있도록 사용중인 시스템을 감지해야합니다.

이 작업에 접근 할 수있는 방법에는 여러 가지가 있습니다. 실제로 Windows API에 액세스하고 실행중인 컴퓨터의 이름을 확인하는 Excel 매크로를 만들 수 있습니다. 그러나 이러한 접근 방식은 상당히 복잡 할 수 있습니다.

더 쉬운 방법은 VBA의 DIR 명령을 사용하여 원하는 디렉터리가있는 위치를 확인하는 것입니다. 다음은 트릭을 수행합니다.

Sub OracleQueries()

Dim sTemp As String     Dim sGoodPath As String

sGoodPath = "D:\OraNT\Plus33\"

sTemp = Dir("D:\OraNT\Plus33\nul")

If sTemp = "" Then         sGoodPath = "C:\OraNT\Plus33\"

sTemp = Dir("C:\OraNT\Plus33\nul")

End If

'Now have directory information     If sTemp <> "" Then         'Process queries using sGoodPath     Else         MsgBox "Directories not found!"

End If End Sub

이 예제에서 DIR 함수가 어떻게 사용되는지 주목하십시오. 일반적으로 DIR은 요청 된 디렉토리에서 찾은 첫 번째 파일의 이름을 반환합니다.

그러나 디렉터리가 비어 있으면 디렉터리가 실제로 존재하더라도 DIR은 빈 문자열을 반환합니다. 우리가 원하는 것은 디렉토리가 존재하는지 (파일이 있는지가 아닌) 알아내는 것이므로 DIR에서 사용하는 디렉토리 경로 끝에 “nul”문자를 추가해야합니다.

이로 인해 DIR은 디렉토리가 없으면 빈 문자열을 반환하고 그렇지 않으면 “nul”문자를 반환합니다 (디렉토리가 비어있는 경우에도).

매크로 끝 부분에서 디렉토리를 찾을 수없는 경우 sTemp는 비어 있습니다. 이들 중 하나를 찾으면 sTemp는 비어 있지 않으며 sGoodPath는 추가 처리에 사용할 수있는 디렉토리 이름으로 설정됩니다.

_ 참고 : _

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

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

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

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

Excel의 이전 메뉴 인터페이스에 대한이 팁의 버전은`link : / excel-Self-Aware_Macros [Self-Aware Macros]`에서 찾을 수 있습니다.