반응형
추가기능 사용방법
- VSTO를 통해 개발한 파워포인트 추가기능이다.
- 열의 개수가 많은데 직접 표 사이즈를 조정하기 번거로웠던 점을 해소하고자 만들었다.
- 엑셀의 AutoFit 기능과 유사한 기능이라 생각하면 된다.
- 설치 방법
- 1) 첨부파일의 압축 파일을 압축 해제한다. (아무 곳이듯 상관 없음)
- 2) setup.exe 파일을 (반드시)관리자 권한으로 실행한다. (마우스 오른쪽 클릭 -> 관리자 권한으로 실행)
- 3) 다음, 설치를 클릭하면 설치가 완료된다.
- 사용 방법
- 1) 자동맞춤 할 표를 선택(아무것도 선택하지 않을 경우 오류메시지 발생)
- 2) 루아흐뉴마 추가기능 탭의 TableAutoFit 단추 클릭
- ※ 표의 사이즈가 작아서 특정 텍스트가 개행(Enter)되어 있는 경우 제대로 실행되지 않는다.
- ※ 모든 텍스트가 한 줄에 나타나도록 표 사이즈를 충분히 늘인 다음 추가기능을 실행한다.
- (이 문제에 대한 해답을 가지고 계시거나 더 좋은 아이디어가 있는 경우 알려주시기 바랍니다.)
- 삭제하는 방법
- 1) 시작 -> 제어판 -> 프로그램 및 기능
- 2) 설치 날짜를 기준으로 내림차순 정렬
- 3) 설치된 프로그램을 선택하여 제거
추가기능 실행 동영상
메인 코드(언어: VB)
Private Sub Button1_Click(sender As Object, e As RibbonControlEventArgs) Handles Button1.Click
Dim sld As PowerPoint.Slide = CType(Globals.ThisAddIn.Application.ActiveWindow.View.Slide, PowerPoint.Slide)
Dim i As Long, j As Long
Dim max_w As Double
max_w = 0 'max_w 초기화
Try
If Globals.ThisAddIn.Application.ActiveWindow.Selection.Type = PowerPoint.PpSelectionType.ppSelectionNone Then
MsgBox("Select Any Table", vbOKOnly) '아무것도 선택하지 않은 경우 오류메시지 활성화
Exit Sub '매크로 종료
Else
If Globals.ThisAddIn.Application.ActiveWindow.Selection.ShapeRange.Count = 1 Then
Dim shp As PowerPoint.Shape = TryCast(Globals.ThisAddIn.Application.ActiveWindow.Selection.ShapeRange(1), PowerPoint.Shape)
If shp.Type = Microsoft.Office.Core.MsoShapeType.msoTable Then
For j = 1 To shp.Table.Columns.Count
For i = 1 To shp.Table.Rows.Count
shp.Table.Columns(j).Width = 3000
'컬럼 사이즈를 임의로 늘린다.
'근데 이게 잘 안먹힌다. 약간의 렉이 있어서 그런지
'사이즈가 늘려지기 전에 다음 코드로 넘어가버린다.
'2019년 8월 9일 업데이트
'약간의 렉이 있는 것이 아니라, Table 개체의 셀크기를 변경해도
'전체 표 사이즈가 커지지 않음.
With shp.Table.Cell(i, j).Shape.TextFrame
If max_w < .TextRange.BoundWidth + .MarginLeft + .MarginRight Then
max_w = .TextRange.BoundWidth + .MarginLeft + .MarginRight
End If
End With
Next i
shp.Table.Columns(j).Width = max_w '최대열너비 설정
max_w = 0 '열너비 초기화
Next j
End If
Else
MsgBox("표를 하나만 선택하세요", vbOKOnly)
End If
End If
Catch ex As Exception
MsgBox(ex.ToString())
End Try
End Sub
Copyright (2018) Ruahneuma. All Rights Reserved.
반응형
'MS 추가기능 및 앱 개발' 카테고리의 다른 글
[엑셀 추가기능 배포] 워크시트별로 분할 저장하기 (0) | 2019.07.15 |
---|---|
[엑셀 추가기능 배포] 빈도수 빠르게 구하기(중복 카운트) (2) | 2019.06.24 |
[엑셀 추가기능 배포] 병합된 셀 해제하고 같은 내용으로 채우기 (0) | 2018.09.06 |
PowerPoint VSTO 사용자정의 작업창과 리본메뉴 연동 (1) | 2018.09.01 |
PowerPoint VSTO 달력 추가기능 개발하기 프로젝트 (0) | 2018.08.27 |