▶  바로가기
 
           
코인니스 | 비온미디어 | 99Bitcoins(KOR) | 블록체인투데이 | 크립토뉴스 | 99Bitcoins(ENG) | 블록스트리트 | 블루밍비트 | 비인크립토 | 코인리더스 | 블록포스트 | CoinDesk | 코인뉴스전망대
주식갤러리 | 미국주식 | 창원개미TV | 주식포커나인 | 오선의 미국증시 | 매일경제 | 한국경제 | 서울경제 | 아주경제 | 머니투데이 | 헤럴드경제 | 아시아경제 | 파이낸셜뉴스 | 이데일리 | 이투데이 | 조선비즈
업비트 | 빗썸 | 네이버증권 | 트레이딩뷰 | 인베스팅닷컴 | 코인마켓캡 | 투게더아트 | 뮤직카우 | 핀고 | 카사 | 뱅카우 | 트레져러 | 펀더풀

[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 까지 가능합니다.
    로그인 후 선물하실 수 있습니다.

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


    관련자료

    모아 ex.9
    81%
    댓글 0
    등록된 댓글이 없습니다.

    전체 367 / 1 페이지
    번호
    제목
    이름

    최근글


    새댓글


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