(수많은)워드파일을 엑셀시트 하나로 변환하는 엑셀 매크로 소개

Поділитися
Вставка
  • Опубліковано 20 жов 2024

КОМЕНТАРІ • 7

  • @gilsunjung1947
    @gilsunjung1947 2 місяці тому +2

    매유 유용한 강의내용 감사합니다. 특히 메크로 공유까지 해주셔서 더욱 감사합니다. 꾸벅 ^^

    • @tv-bq7sr
      @tv-bq7sr  2 місяці тому

      힘이 되는 댓글을 남겨주셔서 감사드립니다.

  • @changhoonhahn3711
    @changhoonhahn3711 2 місяці тому +1

    🎉

    • @tv-bq7sr
      @tv-bq7sr  2 місяці тому

      관심을 가져 주셔서 대단히 감사합니다 ~^^

  • @changhoonhahn3711
    @changhoonhahn3711 2 місяці тому +2

    좋아요

    • @tv-bq7sr
      @tv-bq7sr  2 місяці тому

      관심을 가져 주셔서 대단히 감사합니다 ~^^

  • @tv-bq7sr
    @tv-bq7sr  2 місяці тому

    '선택한 여러 워드 파일들을 하나의 엑셀 시트로 통합하는 매크로
    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