Home |
Search |
Today's Posts |
#16
Posted to microsoft.public.word.docmanagement
|
|||
|
|||
Wildcard to Find and Replace with fields?
OK thanks for the explanation. I was beginning to think I had boobed -- Graham Mayor - Word MVP My web site www.gmayor.com Word MVP web site http://word.mvps.org "Peter T. Daniels" wrote in message ... It's ok, he's saying the macro is doing just what he wanted. In US style, footnote marks (etc.) appear to the right, i.e. outside, of punctuation marks, but author-date references are considered part of the sentence so they go to the left, i.e. inside, of punctuation marks. On May 20, 1:01 am, "Graham Mayor" wrote: Now you've lost me? "David Newmarch" wrote in message ... Make that "one click on this macro now shifts all the citation OUTside the punctuation mark." Whoops. "David Newmarch" wrote: Perfect. Does exactly what's needed. One click in EndNote converts the citation style, and one click on this macro now shifts all the citations inside the punctuation mark. Huge time saver. Thank you very much indeed. "Graham Mayor" wrote: Let me get this right ... you want to move any comma or full stop that comes immediately after the closing bracket of the field to immediately before the opening bracket of the field. Is that correct? In that case you can create another range at the end of the field to encompass the following character, essentially repeating the process to remove the space, and add the content of that range (if a comma or a full stop) after the previous range, before deleting the the second range. Dim oField As Field Dim oRng As Range, oEnd As Range For Each oField In ActiveDocument.Fields If InStr(1, oField.Code, "ADDIN EN.CITE") Then oField.Select Selection.Collapse wdCollapseStart Set oRng = Selection.Range oRng.MoveStart wdCharacter, -1 If oRng.Text = " " Then oRng.Text = "" End If oField.Select Selection.Collapse wdCollapseEnd Set oEnd = Selection.Range oEnd.End = oEnd.Start + 1 If oEnd.Text = "," Or oEnd.Text = "." Then oRng.InsertAfter oEnd.Text oEnd.Delete End If End If Next oField -- Graham Mayor - Word MVP My web sitewww.gmayor.com Word MVP web sitehttp://word.mvps.org "David Newmarch" wrote in message ... Many thanks Graham. It works like a charm. This is the second macro you've provided for me in the last couple of weeks, and it has been an excellent learning curve studying how the VBA pans out. I'm very grateful to you for that. Would I be going too far out out of line to ask if you could extend this piece of code to perform one further operation? Once the spaces to the left of a citation's insertion point have been removed I then want to search for any commas or full stops (only commas or full stops) that come immediately to the right of the insertion point (that would be to the right of the field's closing curly bracket), and move them to a new position immediately to the left of the citation. Possibly this should be a separate operation but I think it would be safe enough to do it all in one shot with a single macro. What these two operations will in effect accomplish is to tidy up the puctuation for conversion of an in-text author-date citation style like APA, where the citation is entered inside a comma or full stop, to a citation style using superscript numbered citations that must follow a comma or full-stop (in this case a superscript version of the Vancouver style that is common in medical publications). A macro that does it all in one click would be a very handy little tool. The author of the paper I'm editing originally wrote it for an APA-style journal, then decided to switch and send it to a medical-style journal. EndNote will change the form of the citations for you, but it doesn't have a way to shift their location. |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Find and replace using wildcard | New Users | |||
find and replace using wildcard characters | New Users | |||
Find & Replace Wildcard Expression for Ordinal Numbers | Microsoft Word Help | |||
How do I Find and replace date fields? | Microsoft Word Help | |||
Trying to replace words with fields using Find/Replace | Microsoft Word Help |