'선택한 여러 워드 파일들을 하나의 엑셀 시트로 통합하는 매크로 Option Explicit Public paraIndex As Long, t_paraIndex As Long, tableIndex As Long Sub ConvertWordToExcelSheet() Dim wordApp As Object Dim wordDocument As Object Dim excelApp As Object Dim excelWorkbook As Object Dim excelWorksheet As Object Dim rowOffset As Long Dim wordFilePath As String Dim 진행률, 표시 As String Dim i As Long Dim content As String
' 최적화 시작 Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.EnableEvents = False ' 현재 엑셀 앱 열기 Set excelApp = ThisWorkbook.Application excelApp.Visible = True ' 현재 엑셀 워크북 가져오기 Set excelWorkbook = ThisWorkbook ' 변환된 데이터를 저장할 현재 엑셀 워크시트 생성 Set excelWorksheet = excelWorkbook.Sheets.Add excelWorksheet.Move After:=excelWorkbook.Sheets(excelWorkbook.Sheets.Count) ' Word 앱 열기 Set wordApp = CreateObject("Word.Application") wordApp.Visible = False ' Word 파일 선택 With Application.FileDialog(msoFileDialogFilePicker) .AllowMultiSelect = True .Title = "Select Word Files" .Filters.Clear .Filters.Add "Word Files", "*.docx;*.doc" .InitialFileName = ThisWorkbook.Path & "\" If .Show = -1 Then ' 파일이 선택된 경우 rowOffset = rowOffset + 1 excelWorksheet.Cells(rowOffset, 1).Value = "no" excelWorksheet.Cells(rowOffset, 2).Value = "file name" excelWorksheet.Cells(rowOffset, 3).Value = "gubun" excelWorksheet.Cells(rowOffset, 4).Value = "[contents==>" excelWorksheet.Range("a1:c1").Interior.Color = RGB(220, 220, 220) excelWorksheet.Range("d1:z1").Interior.Color = RGB(190, 190, 190) t_paraIndex = 1 For i = 1 To .SelectedItems.Count wordFilePath = .SelectedItems(i) ' Word 파일 열기 Set wordDocument = wordApp.Documents.Open(wordFilePath) paraIndex = 1 tableIndex = 1 ' 문서의 각 요소를 순서대로 처리 Do While paraIndex
매유 유용한 강의내용 감사합니다. 특히 메크로 공유까지 해주셔서 더욱 감사합니다. 꾸벅 ^^
힘이 되는 댓글을 남겨주셔서 감사드립니다.
🎉
관심을 가져 주셔서 대단히 감사합니다 ~^^
'선택한 여러 워드 파일들을 하나의 엑셀 시트로 통합하는 매크로
Option Explicit
Public paraIndex As Long, t_paraIndex As Long, tableIndex As Long
Sub ConvertWordToExcelSheet()
Dim wordApp As Object
Dim wordDocument As Object
Dim excelApp As Object
Dim excelWorkbook As Object
Dim excelWorksheet As Object
Dim rowOffset As Long
Dim wordFilePath As String
Dim 진행률, 표시 As String
Dim i As Long
Dim content As String
Application.DisplayStatusBar = True
Application.StatusBar = "Preparing..."
' 최적화 시작
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
' 현재 엑셀 앱 열기
Set excelApp = ThisWorkbook.Application
excelApp.Visible = True
' 현재 엑셀 워크북 가져오기
Set excelWorkbook = ThisWorkbook
' 변환된 데이터를 저장할 현재 엑셀 워크시트 생성
Set excelWorksheet = excelWorkbook.Sheets.Add
excelWorksheet.Move After:=excelWorkbook.Sheets(excelWorkbook.Sheets.Count)
' Word 앱 열기
Set wordApp = CreateObject("Word.Application")
wordApp.Visible = False
' Word 파일 선택
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = True
.Title = "Select Word Files"
.Filters.Clear
.Filters.Add "Word Files", "*.docx;*.doc"
.InitialFileName = ThisWorkbook.Path & "\"
If .Show = -1 Then ' 파일이 선택된 경우
rowOffset = rowOffset + 1
excelWorksheet.Cells(rowOffset, 1).Value = "no"
excelWorksheet.Cells(rowOffset, 2).Value = "file name"
excelWorksheet.Cells(rowOffset, 3).Value = "gubun"
excelWorksheet.Cells(rowOffset, 4).Value = "[contents==>"
excelWorksheet.Range("a1:c1").Interior.Color = RGB(220, 220, 220)
excelWorksheet.Range("d1:z1").Interior.Color = RGB(190, 190, 190)
t_paraIndex = 1
For i = 1 To .SelectedItems.Count
wordFilePath = .SelectedItems(i)
' Word 파일 열기
Set wordDocument = wordApp.Documents.Open(wordFilePath)
paraIndex = 1
tableIndex = 1
' 문서의 각 요소를 순서대로 처리
Do While paraIndex
좋아요
관심을 가져 주셔서 대단히 감사합니다 ~^^