VBA 매크로를 Apps Script로 변환

시작하기 전에

파일을 변환하기 전에 VBA 코드에서 호환되지 않는 API를 업데이트하는 것이 좋습니다. 상태가 정확히 지원됨인 파일의 경우 1단계: 파일 변환으로 진행하면 됩니다.

호환되지 않는 VBA API 수정

상태가 해결 방법이 지원됨 또는 조사가 필요함인 파일의 경우 Apps Script에서 변환한 후 해결 방법과 수정사항을 적용할 수 있지만, 파일을 변환하기 전에 먼저 익숙한 VBA 코드를 수정하는 것이 좋습니다.

호환성 보고서에서 해결 방법이 지원됨 또는 조사 필요로 표시된 각 API에 대해 다음을 권장합니다.

  • API에서 실행하는 기능이 VBA 매크로가 제대로 작동하는 데 중요하지 않다면 VBA 코드에서 삭제하세요. 그렇다면 지원되는 VBA API를 사용하여 유사한 동작을 구현하도록 코드를 변경하세요.
  • 상태가 해결 방법으로 지원됨인 API의 경우 지원되는 VBA API로 전환할 수 없다면 VBA API를 그대로 두세요. Apps Script로 변환한 후 변환된 Apps Script 코드의 주석에 이 API의 알려진 해결 방법이 추천됩니다.
  • 문제가 구현되지 않은 언어 구조에서 비롯된 경우 해당 구조를 사용하지 않도록 코드를 다시 작성하세요.
  • 상태가 조사 필요인 API의 경우 코드에 다음 API가 포함되어 있는지 확인합니다.

    • Adodb.connection
    • CreateObject: 이 API는 데이터베이스 및 전사적 자원 관리 소프트웨어에 연결하는 데 자주 사용됩니다.
    • Shell.execute
    • OleObject

    '예'인 경우 이러한 API가 속한 파일을 변환하지 말고 다른 옵션을 조사하는 것이 좋습니다. 이러한 API는 데이터베이스에 연결하거나 로컬 리소스에 액세스하는 등 매크로의 중요한 작업을 실행하는 경향이 있으며 일반적으로 Apps Script는 적합한 솔루션이 아닙니다.

1단계: 파일 변환하기

  1. 컴퓨터에서 Google Drive를 엽니다.
  2. 오른쪽 패널에서 매크로 변환기 부가기능 매크로 변환기 아이콘을 클릭합니다. 측면 패널이 표시되지 않으면 오른쪽 하단에서 측면 패널 표시 를 클릭합니다.
  3. 파일 및 폴더 추가를 클릭합니다. 매크로 변환기는 Excel 파일만 인식합니다.
  4. 변환할 파일 또는 폴더를 선택하고 선택을 클릭합니다. 한 번에 2,000개 미만의 파일을 선택합니다.
  5. 변환된 파일이 저장되는 위치를 변경하려면 대상 폴더 변경 을 클릭하고 원하는 폴더를 선택합니다. 그렇지 않으면 파일이 내 드라이브 폴더에 저장됩니다.
  6. 변환을 클릭합니다.
  7. 변환이 완료되면 결과 보기를 클릭합니다.

2단계: 변환된 파일 테스트하기

Apps Script 코드 실행

파일을 변환한 후 Apps Script 함수를 테스트합니다. 변환된 파일을 Excel 파일과 함께 일반적으로 사용하는 데이터로 테스트합니다. 가능하다면 변환된 Google Sheets 파일의 출력과 원본 Excel 파일의 출력을 비교합니다.

트리거 테스트

파일에 onOpen(), onEdit(), onClick()와 같은 트리거가 포함되어 있으면 트리거도 테스트하세요. 일부 VBA 트리거는 자동으로 변환되지 않으므로 Apps Script에서 처리해야 합니다. 일반적인 문제 해결을 참고하세요.

ReadMe 파일 검토

변환된 파일과 함께 리드미 파일이 생성된 경우 리드미 파일에 나열된 변환 문제를 검토합니다.

  • 문제가 테스트하지 않은 케이스에 문제가 될 수 있는 경우 권장되는 변경사항을 코드에 적용하세요.
  • 가능한 모든 시나리오를 테스트했고 모든 것이 의도한 대로 작동한다면 변경할 필요가 없습니다.

3단계: 오류 수정

파일을 테스트하는 동안 오류가 발생하면 변환된 코드의 오류 수정을 참고하세요.

코드가 오류 없이 실행되지만 결과가 예상과 다른 경우 파일의 ReadMe 파일을 엽니다. 각 섹션을 검토하여 문제의 원인을 파악하고 권장되는 해결 방법을 적용하세요.

오류를 수정한 후 파일을 다시 테스트하여 모든 항목이 의도한 대로 작동하는지 확인합니다.