파워포인트
-
VBA/파워포인트/사진정리 - 3. 기타 유틸리티코딩/vba 2024. 1. 13. 18:33
사진 정리 코드 작성을 위한 간단한 세 개의 유틸리티를 만들었다. 2024.01.10 - [코딩/vba] - VBA/파워포인트/사진정리 - 0. 개요 VBA/파워포인트/사진정리 - 0. 개요 맥에서 키노트로 열심히 사진을 정리하던 중, 왜 내가 이 노가다를 하고 있나 하는 자괴감이 생겨 파워포인트에서 자동정렬하는 VBA 코드를 만들었다. 키노트에서는 자동화를 할 수 있는 방법이 summertrees.tistory.com 사진 크기 확인 사진 크기를 픽셀 단위로 확인하기 위한 코드. 파워포인트에서 사진을 선택하고 실행한다. 선택된 개체가 사진이면 사이즈를 출력한다. Sub GetPictureSize() Dim selectedShape As Shape ' 현재 선택된 슬라이드에서 선택된 모양(Shape) 가..
-
VBA/파워포인트/사진정리 - 2.2.1. 사진 수 계산 함수코딩/vba 2024. 1. 13. 13:49
이 함수는 슬라이드에 있는 도형들 중에서 사진인 도형을 찾아서 해당 수를 반환하는 간단한 역할을 한다. 인수로 슬라이드에 있는 도형들(slideShapes)을 받는다. numberOfPics = 0: 초기에 사진의 수를 0으로 설정합니다. For Each shp In slideShapes ... Next shp: 슬라이드에 있는 각 도형에 대해 반복. If shp.Type = msoPicture Then: 현재 도형이 사진인 경우를 확인. msoPicture는 PowerPoint에서 사진을 나타내는 상수. numberOfPics = numberOfPics + 1: 사진인 도형을 발견하면 numberOfPics를 증가시킨다. GetNumberOfPictures = numberOfPics: 최종적으로 사진..
-
VBA/파워포인트/사진정리 - 2.2. 사진 정렬코딩/vba 2024. 1. 13. 13:45
슬라이드에 있는 사진을 정렬하는 서브루틴으로, 슬라이드에 있는 도형들(slideShapes), 도형들의 배열(shapesArray), 사진의 위치(positions), 그리고 크기(sizes)를 인자로 받는다. 인자들은 모두 참조형으로 받는다. numberOfPics = GetNumberOfPictures(slideShapes): GetNumberOfPictures 함수를 호출하여 슬라이드에 있는 사진의 수를 계산하고, numberOfPics에 저장. Select Case numberOfPics: numberOfPics의 값에 따라 다른 경우를 나누어 처리. Case 1: 사진의 수가 1개인 경우, positions(0) 및 sizes(0)에 따라 사진을 위치 및 크기를 설정. Case 2: 사진의 수가..
-
VBA/파워포인트/사진정리 - 2. 사진 정열코딩/vba 2024. 1. 13. 13:01
슬라이드에 삽입된 사진들을 정리하는 메인 프로시저다. 파일 목록 가져오기처럼 여기서 사용자 입력값을 모두 입력한다. 파일 목록의 키 디멘전과 총 디멘전 수를 정한다. 그리고 사진을 배치할 픽셀 위치와 사진 크기를 슬라이드 당 사진 수에 따라 미리 정한다. 루프 종료 조건을 주기 위해 슬라이드 수를 세어 변수에 저장한다. 프로세스를 시작할 지점을 알기 위해 현재 화면 상 슬라이드 번호를 확인한다. 그런 다음, 현재 슬라이드부터 마지막 슬라이드까지 아래의 절차를 반복한다. Do While slideIdx < slideCount + 1: 슬라이드 인덱스가 slideCount보다 작은 동안 루프를 실행. slideCount는 총 슬라이드 수. Debug.Print "Working: Slide " & slideI..
-
VBA/파워포인트/사진정리 - 1. 사진 삽입코딩/vba 2024. 1. 12. 14:56
메인 프로시저 Main_InsertPictures(): 사진 삽입 메인은 두 개의 서브 프로시저를 사용한다. 하나는 폴더의 파일이름의 배열을 만들고 또 다른 하나는 사진을 삽입한다. 사용자가 입력해야 하는 입력값은 모두 메인에서만 처리한다. 사전 입력이 필요한 항목은 폴더 경로, 확장자, 슬라이드에 사진을 배치할 위치다. Sub Main_InsertPictures() ' 사진 삽입 메인 프로시저 ' 데이터 Dim path As String, extension As String Dim positions() As Variant path = "Z:\Life\Upload\" extension = "*.*" positions = Array(Array(0, 0), Array(480, 0), Array(480, 27..
-
VBA/파워포인트/사진 crop/PictureFormat.CropBottom()코딩/vba 2024. 1. 10. 15:52
파워포인트에서 사진을 컨트롤하는 것은 맥의 키노트보다 열악하다. 파워포인트에서 사진을 다루다보면 키노트에서의 자유로움이 그리워진다. 그래서 사진을 삽입하고 배치하는 기본적인 컨트롤은 VBA를 사용해서 파워포인트에서 작업하고 다시 키노트에서 불러와 세세한 작업을 하게 된다. 파워포인트에서 사진을 잘라 슬라이드에 맞추는 것은 쉬운 일이지만 사진 속의 대상을 자유자재로 위치시키는 것은 키노트에 비해 어렵다. 애플은 사진에 대해서는 언제나 진심인 듯 하다. VBA Reference 오류 VBA reference에 따르면, PictureFormat.CropBottom()의 인수는 크라핑할 비율이라고 되어있다. 설명도 그렇고 예제 프로그램도 그렇게 되어있다. ' VBA Reference의 예제 프로그램 percen..
-
VBA/PowerPoint/슬라이드 사이즈 픽셀 단위로 구하기코딩/vba 2024. 1. 9. 02:22
파워포인트에서는 cm로 사진이나 도형의 크기를 지정한다. 물론 크기를 지정할 때 px 단위로 입력은 가능하다. 하지만 이것이 대량의 자료를 자동으로 처리하려고 할 때 꽤 귀찮다. 그래서 픽셀단위로 자동화를 하려고 할 때 슬라이드 사이즈를 먼저 알아야 다음 자동화를 할 수 있다. 그래서 현재 슬라이드의 크기를 알 수 있는 코드를 작성한다. Sub GetSlideSize() Dim currentSlide As slide Dim slideWidth As Integer Dim slideHeight As Integer ' 현재 활성 슬라이드 가져오기 Set currentSlide = ActiveWindow.View.slide ' 슬라이드의 픽셀 단위 크기 가져오기 slideWidth = currentSlide.M..