#1
|
|||
|
|||
Author wants to tag and retrieve dialog for a character
I would like to keep track of what each character has been saying.
For example, a character, Jimmy, might say, "Neat-o. I like that." Later in the story, Jimmy might say, "That's swell." Another character, Janey, might say, "Golly!". Later in the story, Janey might say, "This is really childish dialog!" As author, I would like to tag Jimmy's speech with "Jimmy", and Janey's speech with "Janey". Later I would like to be able to retrieve all of Jimmy's speech in one place. Ideally, each tagged item would be on a separate line: Neat-o. I like that. That's swell. Then I might do the same for Janey: Golly! This is really childish dialog! |
#2
|
|||
|
|||
There is nothing build into Word to do this directly.
You could mark them using the Index feature and use that to pull them together. Indices - Complex Documents The main category would be the character name. The dialog itself would be the entry. That is the closest to an automatic feature I can think of. |
#3
|
||||
|
||||
If you applied paragraph styles to the dialog for each character then you could easily create a series of Tables of Contents to list each character's dialog (optionally including the page where it occurs).
You might even go so far as to associate an outline list level to each character so that you don't need to type the speakers name, just apply the style which includes the characters name as a paragraph prefix. See attached example where you can use Alt-Shift-Left or Right arrow to change between characters.
__________________
Andrew Lockton Chrysalis Design, Melbourne Australia |
#4
|
||||
|
||||
Quote:
Code:
Sub Demo() Application.ScreenUpdating = False Dim StrOut As String With ActiveDocument.Range With .Find .ClearFormatting .Replacement.ClearFormatting .Font.ColorIndex = wdBlue .Text = "" .Replacement.Text = "" .Format = True .Forward = True .Wrap = wdFindStop .Execute End With Do While .Find.Found StrOut = StrOut & vbCr & .Text If .Information(wdWithInTable) = True Then If .End = .Cells(1).Range.End - 1 Then .End = .Cells(1).Range.End .Collapse wdCollapseEnd If .Information(wdAtEndOfRowMarker) = True Then .End = .End + 1 End If End If End If If .End = ActiveDocument.Range.End Then Exit Do .Collapse wdCollapseEnd .Find.Execute Loop End With Application.ScreenUpdating = True If StrOut = "" Then StrOut = "Nothing" MsgBox "Found: " & StrOut End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#5
|
|||
|
|||
Quote:
Gomer Pyle USMC Thank You Thank You Thank You - YouTube |
#6
|
|||
|
|||
Quote:
|
#7
|
|||
|
|||
Quote:
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Detecting that previous character doesn't exist (i.e., present character is first in document) | Robert K S | Word VBA | 15 | 08-01-2016 09:33 AM |
Replace a random character with the same character | RickLegrand | Word | 7 | 07-23-2015 06:35 PM |
How can select from a specific character to another character | mohsen.amiri | Word | 2 | 02-19-2015 11:38 PM |
Track Changes Author Not Showing UP | ronksmith | Word | 1 | 05-19-2012 10:35 AM |
Where can I see the Word2007 doc properties (author,...)? | pstein | Word | 1 | 03-26-2012 03:01 PM |