매크로 자동 실행

배치 파일에서 매크로(Outlook) 실행


VBA를 사용하는 자동화된 비즈니스 효율성을 갖춘 시스템의 Outlook 버전입니다.
작업 스케줄러를 통해 배치 파일을 시작하여 매크로를 자동으로 실행합니다.

배치 파일 작성


  • 배치 파일 작성
    파일 이름은 원하는 대로 이름 지정 및 확장할 수 있습니다.bat로 저장

  • 다음 코드를 기술하고 파일을 덮어쓰고 닫습니다
    ※ 다음 처리 중 아웃룩을 시작하고 매크로 동작의 시간(SleepTime)을 90sec로 설정
    처리가 끝난 후 outlook를 종료하는 절차
    (사용된 매크로에 따라 처리 시간이 변경되므로 SleepTime을 조정해야 함)
  • start outlook.exe /autorun <マクロ名>
    timeout /nobreak 90
    taskkill /F /IM OUTLOOK.EXE
    

    작업 스케줄러를 사용하여 생성된 배치 파일 실행하기


    Outlook을 시작하지 않은 경우에도 처리
    [걸려서 넘어진 일]
    작업 스케줄러를 등록한 후 보안 관계에 오류가 발생했습니다.
    (실행 권한 변경을 통해 해결)
    보도의 소개를 참고하다
    【사용자 가이드】(학습용)
    https://www.qualeed.com/ja/qbackup/userguide/scheduling/
    [bat 자동 실행 시간 스케줄링 설정]
    https://qiita.com/Richard_Roe/items/44e16841f16ee40c6113
    위 글(bat 자동 실행 시간 스케줄링 설정)의 2-5에 비밀번호를 입력한 후 오류가 발생했습니다.

    해본 일


    [오류에 대한 정보]

    관리자 권한으로 스케줄 시작 및 설정

    오류 메시지가 변경되었습니다.

    배치 작업 로그인 필요


    참고 문장
    https://se-abeaver.com/logon-as-a-batchjob/
    [해봤던 일!]
    "3. SYSTEM 권한을 이용하여 작업 스케줄러를 시작하는 방법"의 1-3을 수행합니다.
    https://datyotosanpo.blog.fc2.com/blog-entry-159.html
    다음 글의'1. 실행 권한 변경'
    https://se-abeaver.com/logon-as-a-batchjob/
    SYSTEM 권한으로 변경하여 스케줄러에서 배치 파일을 실행할 수 있습니다.
    아래 참조

  • 권한 집행
    실행 권한을 허가할 때 관리자 권한도 변경할 수 없음(잠김)

  • 레지스트리 정책 수정
    나는 위험이 있다고 판단했기 때문에 시도하지 않았다.
    (통제에 관한 설정이기 때문에 변경 시 IT 부서에 문의해야 한다.)
  • 동작 확인


    상기 1(실행 권한)로 설정을 끝내고 Outlook, 스케줄러를 닫은 상태에서 설정 시간까지 대기합니다.
    Outlook을 안전하게 시작하고 매크로가 실행되었음을 확인합니다.
    ※ 이번 처리는 Outlook 시작>매크로의 실행이므로 Outlook이 시작된 상태에서
    매크로가 실행되지 않은 Outlook을 반복해서 시작합니다.
    예) 수면 모드로 집에 돌아가 아침에 출근한 후 Outlook을 시작하고 매크로를 실행한다.
    출근할 때 컴퓨터 전원을 켜고 로그인하여 시간을 설정한 후 실행한다

    Outlook 시작 상태에서 매크로 실행


    달력 알림을 트리거하여 매크로를 실행합니다. (경보가 발생한 후 매크로를 실행합니다)
    ※ 달력의 추가 등 조작 방법은 스스로 조사해보세요.

  • 달력에서 매크로를 실행할 시간, 기간 등을 설정합니다.

  • 개발 탭에서 VBE 시작

  • Microsoft Outlook Objects 바로 아래에 있는 "This Outlook Session"을 W Click

  • 다음 코드를 복사하고 편집하십시오.
  • Private Sub Application_Reminder(ByVal objItem As Object)
        'マクロの自動実行プロシージャ
    
        Dim strItemSubject As String
    
        '予定アイテムの件名を指定します。
        strItemSubject = "<予定アイテム>"
      
        '新しい予定を表す AppointmentItem オブジェクト(26)を指定
        If objItem.Subject = strItemSubject And objItem.Class = "26" Then
    
        'マクロの呼び出し
        Call <マクロ名>
        End If
        
    End Sub
    
    ※ stritemSubject = "(설정된 예약된 프로젝트 이름 입력)
    ※ 콜(매크로 이름 입력)

    olAppointment 26 AppointmentItem 객체


    【보충】
    위 절차에서는 Outlook 매크로를 자동화할 수 있습니다.
    이 기사를 읽고 지적할 사항이 있다면 교수님을 얻었으면 좋겠습니다.
    컴퓨터의 설정에 관해서는 스스로 책임을 지십시오.

    좋은 웹페이지 즐겨찾기