워드 VBA 코드를 활용한 문서 병합 분할 자동화
소개
워드(Word)는 많은 사용자들이 문서 작성에 활용하는 프로그램 중 하나입니다. 문서 작업은 때로는 여러 개의 문서를 하나로 병합하거나, 하나의 문서를 여러 개로 분할하는 경우가 있습니다. 이러한 작업을 수작업으로 하다보면 시간과 노력이 소모됩니다. 그러나 워드 VBA(Visual Basic for Application) 코드를 활용하면 이러한 작업을 자동화할 수 있습니다. 이번 포스트에서는 워드 VBA 코드를 사용하여 문서 병합과 분할을 자동화하는 방법에 대해 소개하겠습니다.
문서 병합 자동화
문서 병합은 여러 개의 워드 문서를 하나의 문서로 병합하는 작업을 말합니다. VBA를 활용하면 이 작업을 아주 쉽게 자동화할 수 있습니다. 아래는 병합 자동화를 위한 VBA 코드의 예시입니다.
Sub MergeDocuments()
Dim MasterDoc As Document
Dim FileDlg As FileDialog
Dim SelectedFile As Variant
Set MasterDoc = Application.Documents.Add
Set FileDlg = Application.FileDialog(msoFileDialogFilePicker)
FileDlg.AllowMultiSelect = True
If FileDlg.Show = -1 Then
For Each SelectedFile In FileDlg.SelectedItems
With MasterDoc
.Content.InsertFile FileName:=SelectedFile, Range:="", _
ConfirmConversions:=False, Link:=False, _
Attachment:=False
.Content.InsertParagraphAfter
End With
Next SelectedFile
End If
Set FileDlg = Nothing
End Sub
위의 코드는 선택한 여러 개의 파일을 하나의 문서에 병합하는 VBA 코드입니다. 코드를 실행하면 파일 선택 대화창이 나타나며, 여러 개의 파일을 선택하면 해당 파일들이 병합되어 새로운 문서에 저장됩니다.
문서 분할 자동화
문서 분할은 하나의 워드 문서를 여러 개의 문서로 분할하는 작업을 말합니다. 예를 들어 한글로 작성된 문서를 단락 단위로 분할하는 경우입니다. 워드 VBA를 사용하면 이 작업을 자동화할 수 있습니다. 아래는 분할 자동화를 위한 VBA 코드의 예시입니다.
Sub SplitDocument()
Dim OriginalDoc As Document
Dim Paragraph As Range
Dim ParaCount As Integer
Set OriginalDoc = ActiveDocument
For Each Paragraph In OriginalDoc.Paragraphs
ParaCount = ParaCount + 1
With Documents.Add
.Range.FormattedText = Paragraph.Range.FormattedText
.SaveAs "분할문서" & ParaCount & ".docx"
.Close savechanges:=False
End With
Next Paragraph
Set OriginalDoc = Nothing
End Sub
위의 코드는 선택한 문서를 단락 단위로 분할하여 개별 문서로 저장하는 VBA 코드입니다. 코드를 실행하면 현재 열려있는 문서를 단락 별로 분할하여 개별 문서로 저장합니다. 저장된 문서들은 "분할문서1.docx", "분할문서2.docx"와 같은 형식으로 저장됩니다.
마치며
이처럼 워드 VBA 코드를 활용하면 복잡한 문서 작업을 자동화할 수 있습니다. 워드 VBA에 대한 이해도와 경험이 쌓이면 보다 다양한 기능을 자동화할 수 있을 것입니다. VBA 코드를 활용하여 작업 효율을 높이고, 시간을 절약해보세요!
'■ 칼퇴를 위한 VBA : 사례 > - VBA for 워드' 카테고리의 다른 글
워드 VBA 코드를 사용한 텍스트 정렬 및 들여쓰기 자동화 (1) | 2023.07.10 |
---|---|
워드 문서에서 특정 단어 밑줄 설정 자동화를 위한 VBA 코드 (0) | 2023.07.10 |
워드 문서에서 특정 스타일 찾아 바꾸기 자동화를 위한 VBA 코드 (0) | 2023.07.10 |
워드 VBA 코드를 사용한 페이지 넘버링 자동화 (0) | 2023.07.10 |
워드 문서에서 특정 단어 폰트 변경 자동화를 위한 VBA 코드 (0) | 2023.07.10 |