Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^2: Find occurence information on a word in a doc file using Win32::OLE

by Generoso (Parson)
on Jun 08, 2011 at 18:16 UTC ( #908758=note: print w/ replies, xml ) Need Help??


in reply to Re: Find occurence information on a word in a doc file using Win32::OLE
in thread Find occurence information on a word in a doc file using Win32::OLE

Maybe this macro will help.

Sub Test() Dim i As Long Dim myInfo As String Dim myRange As Range Dim rgeSave As Range Set rgeSave = Selection.Range Application.ScreenUpdating = False 'Loop: Do a Search, Then Execute Some Other Commands Inside 'a "Do Until End of Document" Loop (version 2, thanks to Shawn Wilson) +: Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "13" .Forward = True .Wrap = wdFindStop .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Do While Selection.Find.Execute 'Do something within the found text myInfo = myInfo & Selection.Information(wdFirstCharacterLineNumber) + & " " & Selection.Information(wdActiveEndAdjustedPageNumber) & " " Loop MsgBox myInfo Application.ScreenRefresh Application.ScreenUpdating = True rgeSave.Select End Sub


Comment on Re^2: Find occurence information on a word in a doc file using Win32::OLE
Download Code
Replies are listed 'Best First'.
Re^3: Find occurence information on a word in a doc file using Win32::OLE
by ZJ.Mike.2009 (Scribe) on Jun 09, 2011 at 02:31 UTC

    @Generoso, thank you for the macro snippet. Really appreciate it :)

    I never used macro until now. I replaced .Text = "13" with .Text = "perl" and ran the modified macro on the test.doc file and I got the desired information. Cool!

    But the problem I posted is only a smaller part of a larger problem. For example, in the real task, it's not just one single word (it's a list of words) and I also need to remove duplicate page numbers (e.g. if 'perl' occurs more than once in one page, it will count as just once).

    But I guess the macro probably can also do that too although the coding might involve a different complexity level compared with a Perl solution. I'll probably need to dig deeper.

    Anyway it's good to know the macro solution. Thank you again

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://908758]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (13)
As of 2015-07-31 18:23 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (280 votes), past polls