▶  바로가기
 
           

[vba]워드문서 검색하여 엑셀파일에 복사하기

작성자 정보

  • 모아 작성
  • 작성일

컨텐츠 정보

  • 링크

  • 본문

    엑셀에서 매크로를 실행하여

    특정 폴더안의 모든 워드 문서 중에서 

    본문에 특정한 단어가 있는지 검사한 후

    해당 단어가 있는 문장과

    문장의 첫단어가 있는 라인 수

    해당 파일의 이름을 출력하는 매크로이다

    VB편집기에서

    도구 - 참조 클릭하고

    Microsoft Word Object Library에 체크를 해야 작동한다.

    Option Explicit
    
    Sub macro()
    Dim WApp As Object, WDoc As Object, WDR As Object
    Dim ExR As Range, sPath As String
    Dim str2Find As String, myData As String, sFname As String, myfile As String
    Dim myline As Long
    
        Set ExR = Range("A1") '찾는 단어가 있는 셀
        
        str2Find = ExR.Value
    
        With Application.FileDialog(msoFileDialogFolderPicker)
            .Title = "폴더를 고르시오"
            .Show
            If .SelectedItems.Count = 0 Then
                MsgBox "Canceled"
                Exit Sub
            Else
                sPath = .SelectedItems(1) & "\"
            End If
        End With
        
        Set WApp = CreateObject("Word.Application")
        sFname = Dir(sPath & "*.doc?")
        
        If Len(sFname) > 0 Then
            Do
                Set WDoc = WApp.Documents.Open(sPath & sFname)
                WApp.ActiveDocument.Select
                
                    With WApp.Selection.Find
                    .Text = str2Find
                    .Forward = True
                    .Execute
                    
                    If .Found = True Then
                    .Parent.Expand Unit:=wdSentence
                    myData = WApp.Selection.Text
                    myline = WApp.Selection.Range.Information(wdFirstCharacterLineNumber)
                    ExR.Offset(, 1) = sFname
                    ExR.Offset(, 2) = myline
                    ExR.Offset(, 3) = myData
                    WDoc.Close
                    WApp.Quit
                    MsgBox "완료"
                    Exit Sub
                    End If
                    End With
            WDoc.Close
            sFname = Dir
            Loop Until Len(sFname) = 0
            
        End If
    
    MsgBox "찾는 단어가 있는 파일이 없습니다"
    
        
    End Sub

     

    해당단어가 속해 있는 문장을 선택하는 구문인

    .Parent.Expand Unit:=wdSentence 이 부분에서 자꾸 에러가 나서 고생했는데, 

    Microsoft Word Object Library를 참조하니까 해결되었다. 


    포인트 선물 선물명단 선물하기

    최소 5P ~ 최대 100000000P 까지 가능합니다.
    로그인 후 선물하실 수 있습니다.

    선물 받은 내용이 없습니다.


    관련자료

    댓글 0
    등록된 댓글이 없습니다.

    잠시만요! 로그인 후 글쓰기를 하실 수 있습니다!
    전체 503 / 29 페이지
    번호
    제목
    이름
    트레이딩뷰 | investing.com | CoinMarketCap


    • 오늘 방문자 666 명
    • 어제 방문자 922 명
    • 최대 방문자 4,659 명
    • 전체 방문자 1,129,850 명
    • 전체 게시물 75,336 개
    • 전체 댓글수 3,063 개
    • 오늘 게시물 26 개
    • 오늘 댓글수 0 개

    공지글


    포인트 랭킹

    • 순위
    • 닉네임
    • 포인트
    • 변동
    • 1
    • 빠비오
    • 916,013
    • -
    • 2
    • 대박송
    • 263,318
    • -
    • 3
    • 말로
    • 78,641
    • New
    • 4
    • 홍신
    • 35,290
    • New
    • 5
    • waterlevel
    • 28,500
    • New
    • 6
    • 한라산유입
    • 23,580
    • New
    • 7
    • 바넌피선불유심내구제
    • 21,545
    • New
    • 8
    • 커뮤니티
    • 19,000
    • New
    • 9
    • 버부기
    • 17,350
    • ▼ 5
    • 10
    • 만세인
    • 17,327
    • ▼ 7
    • 11
    • 로니콜먼
    • 16,690
    • New
    • 12
    • 짱구짱아
    • 16,130
    • New
    • 13
    • 모아누리
    • 14,936
    • New
    • 14
    • 시간은금
    • 13,000
    • New
    • 15
    • 누구시낭
    • 12,476
    • New





    알림 0
    💬 포인트AD - 한줄 하루일상  출석체크  코인투자  주식투자  미술투자  음악투자  부동산투자  한우투자  명품투자  숙박투자  K-콘텐츠  에너지투자  기타투자