Monitoring/Zabbix

[Zabbix 4.4] 자빅스 가져온 그래프 이미지를 이용해 파워포인트 매크로 제작하기 (보고서 자동화, ppt macro insert image)

Nirsa 2020. 6. 17. 10:40
반응형

 

이전 편(자빅스 그래프 이미지 수집) : https://nirsa.tistory.com/244?category=868727

 

  • 자빅스 가져온 그래프 이미지를 이용해 파워포인트 매크로 제작하기 (ppt macro insert image)

이전에 포스팅한 자빅스 그래프 이미지 수집한걸 이용해 파워포인트에 매크로 제작을 할 수 있습니다. 매크로를 작성하는게 조금 노가다이긴 하지만 만들어 놓는다면 크론탭 등을 이용해 일정 시간마다 로컬PC로 파일을 자동 이동시키고 파워포인트를 실행 시킬 때 자동으로 매크로를 실행하도록 설정하면 아주 편하게 보고서 등을 작성할 수 있습니다.

 

  • 1) 매크로를 작성할 ppt를 실행시킨 후 보기 → 매크로 → 매크로 이름 작성 → 만들기를 클릭 합니다.    

 

  • insert_images는 매크로의 이름으로 저장하여 주시고, (4) 부분은 몇번 슬라이드에 이미지를 넣을것인지에 대한 값 입니다. 저는 첫번째 슬라이드에 넣을것이므로 이후 1로 수정 했습니다.
  • C:\test\test.png는 삽입할 이미지의 경로와 파일명을 작성 해주시고 뒤의 54, 150, 810, 170은 위치와 크기에 대한 값 입니다. 예전에 제작할때는 cm 단위로 해줫던것같은데 지금은 저게 픽셀 단위라서 높이, 넓이등을 말하기보단 직접 값을 넣어가며 수정하시는게 나을겁니다. (저의 경우 약 4~5페이지만 작성하면 나머지 양식은 똑같기에 값을 바꿔가며 맞춘 이유도 있습니다.)

Sub insert_images()
Dim objPresentaion As Presentation
Dim objSlide As Slide
Dim objImageBox As Shape

Set objPresentaion = ActivePresentation
Set objSlide = objPresentaion.Slides.Item(4)
Set objImageBox = objSlide.Shapes.AddPicture("C:\test\test.png", msoCTrue, msoCTrue, 54, 150, 810, 170)


End Sub

 

  • 3) Ctrl+S 를 누른 후 ppt를 저장시킬 때 파일 형식을 pptm으로 저장 합니다. (기존에 있던 ppt여서 그대로 저장되버리는 경우 다른 이름으로 저장시키거나 확장자명을 변경해주시면 됩니다.)

 

  • 4) 보기 → 매크로 → 매크로 이름 클릭 → 실행을 클릭하여 매크로를 실행 시키면 해당 이미지를 잘 가져오는것을 볼 수 있습니다.    

 

  • 여러개의 슬라이드와 이미지를 삽입할때는 아래와 같은 방식으로 사용하시면 됩니다.
Sub insert_images()
Dim objPresentaion As Presentation
Dim objSlide As Slide
Dim objImageBox As Shape

Set objPresentaion = ActivePresentation
Set objSlide = objPresentaion.Slides.Item(1)
Set objImageBox = objSlide.Shapes.AddPicture("C:\test\test.png", msoCTrue, msoCTrue, 54, 150, 810, 170)
Set objImageBox = objSlide.Shapes.AddPicture("C:\test\test.png", msoCTrue, msoCTrue, 54, 365, 810, 170)

Set objSlide = objPresentaion.Slides.Item(2)
Set objImageBox = objSlide.Shapes.AddPicture("C:\test\test.png", msoCTrue, msoCTrue, 54, 150, 810, 170)
Set objImageBox = objSlide.Shapes.AddPicture("C:\test\test.png", msoCTrue, msoCTrue, 54, 365, 810, 170)

Set objSlide = objPresentaion.Slides.Item(3)
Set objImageBox = objSlide.Shapes.AddPicture("C:\test\test.png", msoCTrue, msoCTrue, 54, 150, 810, 170)
Set objImageBox = objSlide.Shapes.AddPicture("C:\test\test.png", msoCTrue, msoCTrue, 54, 365, 810, 170)

Set objSlide = objPresentaion.Slides.Item(4)
Set objImageBox = objSlide.Shapes.AddPicture("C:\test\test.png", msoCTrue, msoCTrue, 54, 150, 810, 170)

End Sub

 

반응형