2017-10-12 14 views
-1

나는 대학을 위해 나의 수필을 쓰고 있습니다. 나는 총 단어 수에 따옴표 안에 사용 된 단어를 포함 할 수 없습니다. Word는 이것을 수행하는 기능이 없기 때문에 누군가가 매크로를 작성하여 나를 도울 수 있기를 바랬습니다. 이전에 매크로를 사용했지만 매크로가 복잡 할 경우 매우 복잡합니다.Word 매크로 따옴표 안에 단어를 집계하십시오

나는 이미 문서 전체에서 인용문을 사용하는 것과 유사한 것을 가지고 있으므로 두 가지 모두를 갖는 것이 큰 도움이 될 것입니다. 아래에서이 코드를 복사하여 인용 대신 인용 부호로 제외하고 필요한 정보를 얻을 수 있습니다.

누군가 문서 전체에서 따옴표 안에 사용 된 단어의 수를 세는 매크로를 만들 수 있는지 궁금합니다.

Sub CitationWordCount() 

Dim Fld As Field, l As Long, StrTmp As String 
For Each Fld In ActiveDocument.Fields 
    With Fld 
    If .Type = wdFieldCitation Then 
     StrTmp = .Result 
     l = l + UBound(Split(StrTmp, " ")) + UBound(Split(StrTmp, "-")) + 1 
     StrTmp = .Code.Text 
     l = l + Len(StrTmp) - Len(Replace(StrTmp, "\n", "\")) 
    End If 
    End With 
Next 
MsgBox "There are " & l & " words in citations in this document.", , "Citation Word Count" 
End Sub 
+1

[실제 질문이 아닌 이유는 무엇입니까?] (http://meta.stackoverflow.com/q/284236) –

+0

인용에 사용하는 코드는 어디에 있습니까? – Robby

+0

죄송합니다. 이제 인용문이 추가되었습니다! –

답변

-1

폴 Edstein (macropod)는 당신에게 당신의 총 단어 수와 인용 부호 단어의 총량을 줄 것이다 http://www.msofficeforums.com/word-vba/33866-count-words-between-quotation-marks.html

Sub Demo() 
Application.ScreenUpdating = False 
Dim i As Long, j As Long 
With ActiveDocument 
    j = .ComputeStatistics(wdStatisticWords) 
    With .Range 
    With .Find 
     .ClearFormatting 
     .Replacement.ClearFormatting 
     .Text = "[“" & Chr(34) & "]*[" & Chr(34) & "”]" 
     .Replacement.Text = "" 
     .Forward = True 
     .Wrap = wdFindStop 
     .Format = False 
     .MatchWildcards = True 
     .Execute 
    End With 
    Do While .Find.Found 
     i = i + .ComputeStatistics(wdStatisticWords) 
     .Collapse wdCollapseEnd 
     .Find.Execute 
    Loop 
    MsgBox "This document contains " & j & " words ," & vbCr & _ 
     "of which " & i & " (" & Format(i * 100/j, "0.00") & _ 
     "%) are in quotes." 
    End With 
End With 
Application.ScreenUpdating = True 
End Sub 

이에 달 전에이 문제에 대한 해결책을 썼다. 총 수를 얻으려면 전체 단어에서 따옴표로 묶인 단어를 뺍니다.

+0

고마워, 내가 볼 때 아무것도 찾을 수 없었다. 명확하게 didnt는 충분히 열심히 본다 –

+1

@ Dom.Ibbz 무엇이라도 Word VBA는 항상 항상 ms 사무실 포럼을 점검한다 - 거기의 거의 진실 된 단어 MVPs는 Word를 위해 태양의 아래에서 거의 무엇이라도 쓰여졌다 또한 시간을 주면 당신을 위해 무료 코드를 작성할 의향이 있습니다). – dwirony

+0

도움을 주셔서 감사합니다. 앞으로도 계속 확인하겠습니다. –