간혹, 파워포인트로 작성된 파일이 너무 많은 상태에서 특정한 단어만 추출하여 사용하고자 할 경우가 있다. 이럴 때 매우 유용한 파워포인트 매크로이다.
파워포인트로 작성된 자료 중에서 특정한 단어만 추출하는 매크로이다. 특정한 단어만 추출할 경우 그룹핑되어 있는 단어는 추출이되지 않는다. 따라서, 파워포인트로 작성된 전체 자료들에서 그룹핑된 부분을 먼저 해지하고, 특정 단어를 추출하면 된다.
□ 특정 단어 추출 매크로
Attribute VB_name = "Module11"
Sub ToFile()
Dim slide As Slide
Dim shape As shape
Dim extractedText As String
Dim filePath As String
Dim fileNum As integer
Dim searchText As String
'추출할 텍스트를 저장할 파일 경로 설정
filePath = "C:\감리\추출\추출_file_text"
'검색할 텍스트 설정
searchText = "감리"
'파일 번호 할당 및 텍스트 파일 열기
fileNum = FreeFile
Open filePath For Output As fileNum
'슬라이드 순회
For Each slide In ActivePresentation.Slides
'슬라이드 내의 도형 순화
For Each shape In slide.Shapes
'도향이 텍스트를 포함하고 있는지 확인
if shape.HasTextFrame Then
if shape.TextFrame.HasText Then
'텍트트 추출
extractedText = shape.TextFrame.TextRange.Text
if inStr(1, extractedText, searchText, vbTextCompare) > 0 Then
'"감리"를 포함한 전체 텍스트 파일 출력
Print #fileNum, "slide" & slide.Slideindex & ":" extractedText
End if
End if
End if
Next shape
Next slide
'파일 닫기
Close fileNum
MsgBox "텍스트가 성공적으로 추출되었습니다."
End Sub
□ 파워포인트의 그룹핑 해지 매크로
Attribute VB_name = "Module12"
Sub UngroupAallslides()
Dim slide As slide
Dim shape As shape
Dim i As Long
For Each slide In ActivePresentation.Slides
'모든 도형에 대해 반복
For i = slide.Shapes.Count To 1 stpe - 1
Set shape = slide.Shapes(i)
'도형이 그룹일 경우
if shape.Type = msoGroup Then
'그룹해지
shape.Ungroup
End if
Next i
Next slide
End Sub