tables in Word (Office 2003)

D

dc1606

I am currently editing some 17th century inventories e.g.

one chair, one table xs viiid
corn in the ground ii£ vis viiid

0r £ s d
one chair, one table 0 10 08
corn 2 13 04
How can I line up the £ s d underneath one another in straight columns. Is
it possible to insert a table retrospectively? - the original transcriber
used an Amstrad and locoscript which has been converted but I cannot work out
how to line up the columns!
 
S

Suzanne S. Barnhill

I'm guessing the original document was produced with a monospaced font and
spaces. To get anywhere with that, you're going to have to replace each run
of spaces with a single tab character, making sure that each line/paragraph
has the same number of tab characters (columns). You can then use Table |
Convert | Text to Table to create a table from the tabbed text.

To replace spaces with tabs, you can try searching for ^w and replacing with
^t. If that totally messes things up, then Undo and start over with
wildcards. You'll need to use this search term:

<space>{2,}

where <space> represents a press of the spacebar. This will find instances
of two or more spaces, which can be replaced by a tab; if you have only a
single space between the £ s d amounts, you'll need to take care of those
manually, that is, by searching for a single space and replacing only as
needed.

Once you've got your table created, you'll find decimal tab stops very
helpful for aligning figures.

--
Suzanne S. Barnhill
Microsoft MVP (Word)
Words into Type
Fairhope, Alabama USA
http://word.mvps.org
 
G

Graham Mayor

It is certainly possible to insert a table retrospectively. Much depends on
*exactly* how the document is formatted. From your description I assume that
the spacing is created with multiple spaces. You can therefore use that fact
to replace the superfluous spaces with tabs then convert the document to a
table. The following macro should do that. It uses three replacements (which
are the three parts of the first array replaced with the corresponding three
parts of the second array) to format a selected part of the document with
tabs rather than spaces.then converts that selection to a four column table.

Thus ([0-9]) @([0-9]) is replaced with \1^t\2 (which puts tabs between the
pounds, shillings and pence)
[space]{8,} is replaced with ^t (which replaces the long line of spaces
between the description and the amount - it assumes at least 8 spaces)
(£) @(s) @(d) is replaced by \1^t\2^t\3 (which puts the £sd header in the
same format as the amounts.)

The resulting selection is then converted to the table.You can then change
the column widths and text alignment to produce the results you require.

Dim vFindText As Variant
Dim vReplText As Variant
Dim sFormat As Boolean
Dim oRng As Range
Dim i As Long
sFormat = Options.AutoFormatAsYouTypeReplaceQuotes
vFindText = Array("([0-9]) @([0-9])", " {8,}", "(£) @(s) @(d)")
vReplText = Array("\1^t\2", "^t", "\1^t\2^t\3")
With Selection
Set oRng = .Range
With .Find
.Forward = True
.Wrap = wdFindContinue
.MatchWildcards = True
For i = LBound(vFindText) To UBound(vFindText)
.Text = vFindText(i)
.Replacement.Text = vReplText(i)
.Execute Replace:=wdReplaceAll
Next i
End With
End With
With oRng
.Select
WordBasic.TextToTable ConvertFrom:=1, NumColumns:=4, NumRows:=3
End With

http://www.gmayor.com/installing_macro.htm


If that doesn't work for you, send a sample of your document to the link on
the home page of my web site.
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top