본문 바로가기
IT 전산/엑셀

엑셀 VBA를 이용하여 동일한 폴더에 있는 Perl 스크립트 자동 실행하기

by 멍뭉부 2023. 12. 4.
728x90

특정 상황에서 매크로가 위치한 동일한 폴더에 있는 Perl 스크립트를 자동으로 실행하는 방법이 필요할 수 있습니다.

이 글에서는 바로 그 방법을 간단하게 설명하려고 합니다.

상황 설정

 VBA 매크로가 있는 Excel 파일과 같은 폴더에 있는 Perl 스크립트를 실행하는 것입니다.

즉, Excel 파일의 경로가 변경되어도 같은 경로에서 Perl 스크립트를 실행할 수 있어야 합니다.

Perl 파일의 이름은 항상 같다고 가정합니다.

해결 방안

이를 위해서는 두 가지 주요 단계를 따라야 합니다:

  1. Excel 파일의 경로 찾기: VBA에서 ThisWorkbook.Path 속성을 사용하여 현재 Excel 파일의 경로를 찾습니다.
  2. Perl 스크립트 실행: 찾은 경로를 기반으로 Shell 함수를 사용하여 Perl 스크립트를 실행합니다.

구체적인 VBA 코드 예시

아래는 이 과정을 구현하기 위한 간단한 VBA 코드 예시입니다:

 

Sub RunPerlScript()
    Dim perlPath As String
    Dim scriptPath As String

    ' 현재 Excel 파일의 경로를 얻습니다.
    perlPath = ThisWorkbook.Path

    ' Perl 스크립트의 전체 경로를 설정합니다.
    ' 예를 들어, Perl 스크립트의 이름이 "script.pl"이라고 가정합니다.
    scriptPath = perlPath & "\script.pl"

    ' Shell 함수를 사용하여 Perl 스크립트를 실행합니다.
    Shell "perl " & scriptPath, vbNormalFocus
End Sub

 

유의사항

  • Perl이 시스템의 PATH 환경 변수에 포함되어 있어야 합니다. 그래야 VBA에서 "perl" 명령어를 인식할 수 있습니다.
  • Perl 스크립트의 이름("script.pl" 부분)을 실제 파일 이름으로 바꿔주세요.
  • 이 매크로를 실행하기 전에 Perl 스크립트가 같은 폴더에 있는지 확인하세요.

마무리

이 방법을 통해 Excel 파일의 위치에 상관없이 해당 경로에서 Perl 스크립트를 실행할 수 있게 되었습니다.

VBA를 사용하는 분들에게 유용한 팁이 되었길 바랍니다!

728x90