2012-02-15 4 views
0

나는 고객 정보가있는 동적 단어 페이지를 작성하기 위해 우편물을 만들었습니다.각 페이지의 첫 단어를 추출/삭제하는 방법은 무엇입니까?

그런 다음 결과 파일을 여러 페이지로 나눠서 각 페이지를 하나의 파일로 저장하는 매크로를 보았습니다.

이제 고객 정보가 포함 된 일부 파일 이름을 제공하려고합니다. 나는 그걸 봤어 그리고 난 (유일한?) 방법은 페이지의 맨 처음에 그 정보와 함께 mergefield를 만들고 다음 파일 이름에 넣어 매크로와 페이지에서 그것을 삭제하고 삭제하는 것입니다 생각합니다.

예 : Stackoverflow라는 고객이있는 경우 Facture_Stackoverflow.doc라는 파일을 갖고 싶습니다.

내 페이지에서 첫 단어를 선택하고 추출한 다음 삭제하는 방법을 찾지 못했습니다.

여기 내 "분할 매크로"인 단지 증가 된 ID와 현재 이름을 파일 :

Sub DecouperDocument() 
    Application.Browser.Target = wdBrowsePage 

    For i = 1 To ActiveDocument.BuiltInDocumentProperties("Number of Pages") 

     ActiveDocument.Bookmarks("\page").Range.Copy 

     Documents.Add 
     Selection.Paste 

     Selection.TypeBackspace 
     ChangeFileOpenDirectory "C:\test\" 
     DocNum = DocNum + 1 
     ActiveDocument.SaveAs FileName:="Facture_" & DocNum & ".doc" 
     ActiveDocument.Close 

     Application.Browser.Next 
    Next i 
    ActiveDocument.Close savechanges:=wdDoNotSaveChanges 
End Sub 

답변

0

기능은 아래의 첫 번째 단어를 추출 (선택적으로 제거) 단어의 수있게된다 문서.

Public Function GetFirstWord(Optional blnRemove As Boolean = True) As String 

    Dim rng As Range 
    Dim intCharCount As Integer 
    Dim strWord As String 

    With ThisDocument 
     Set rng = .Characters(1) 

     intCharCount = rng.EndOf(wdWord, wdMove) 

     With .Range(0, intCharCount - 1) 
      strWord = .Text 
      If blnRemove Then 
       .Delete 
      End If 
     End With 
    End With 

    GetFirstWord = strWord 

End Function 

이 정보가 도움이되기를 바랍니다.

+0

안녕하세요. 크림입니다. 답변 해 주셔서 대단히 감사합니다. 내 메인 루프에서 함수를 호출했지만 불행히도 실행 오류 4608 : 범위를 벗어났습니다. 디버거는 "With .Range (0, intCharCount - 1)"행을 보여줍니다. 내가 잘못했는지 생각해 보시겠습니까? intCharCount의 값이 0이면 ...은 무엇을 의미합니까? 내 페이지의 헤더 때문일 수 있습니까? – user1211458

+0

intCharCount는 문서의 첫 번째 공백 문자의 문자 위치를 반환해야합니다. intCharCount는 문서가 비어있을 때만 0이 될 것이라고 생각합니다. 즉, 글자, 단어 또는 공백이 없습니다. – markblandford

+0

그럴 수도 있습니다. 필자가 제공 한 함수는 코드가있는 문서 (ThisDocument)에서만 작동합니다. 질문에서 코드를 다시 보면서 ThisDocument보다는 ActiveDocument를 사용하도록 내 함수를 변경해보십시오. – markblandford

관련 문제