@BANNER = Ventura Publisher<M^><190><D>

@APP NOTE = Application Note #7

@NAME = Subjects:	Database Publishing<R>
	Lotus 1-2-3<R>
	dBase III

Database publishing is the process of extracting information from 
a database or spreadsheet and automatically formatting it into a typeset 
document. Database publishing represents the largest single category 
of typeset documents. These documents include:<R>


@BULLET 1 = Directory listings (e.g., phone books, membership directories, 
etc.)

@BULLET 1 = Tables (e.g., census, almanac, government statistics, 
etc.)

@BULLET 1 = Catalogs

@BULLET 1 = Parts lists

@BULLET 1 = Financial statements<R>


All of these documents are typeset, and all currently require extensive 
labor to produce because of the number of steps involved and lack 
of automation in the page layout process.

One of Ventura Publisher's greatest strengths is that decisions on 
where text and pictures should be placed is made by the software rather 
than by the operator. Features like widow and orphan control, keep 
this paragraph with the next paragraph, break controls, shift text 
in from left/right margins, and in/out alignment, anchored frames, 
automatic headers & footers, ruling lines attached to text <197> to 
name a few <197> automatically place the text and pictures in the 
correct locations without the operator needing to create the document 
by hand. The document in many cases can be completely formatted through 
codes placed in the text. When using a database or spreadsheet, these 
codes can be generated directly by the database program or spreadsheet 
macro. The purpose of this application note is to describe techniques 
that you can use to produce the kinds of documents mentioned above 
when using dBase III Plus <197> the most common database <197> and 
Lotus 1-2-3, the leading spreadsheet.

@HEAD 1 = Steps<197><R>
Summary

Most database publishing consists of the following steps:<R>


@BULLET 1 = Enter information into a database or spreadsheet.

@BULLET 1 = Create a Ventura Publisher style sheet which translates 
the tags into both format and placement information.

@BULLET 1 = Create a Ventura Publisher chapter to act as a template 
for the database text.

@BULLET 1 = Write a database program, spreadsheet macro, or custom 
code to extract the desired records, add Ventura Publisher tags and 
formatting codes, create an ASCII text file, and place this text file 
into a Ventura Publisher chapter file.<R>


Once these steps have been performed you can publish the database 
automatically at any time. Simply run the database program or spreadsheet 
macro, run Ventura Publisher, and print the document. You don't need 
to do anything within Ventura Publisher once this is set up.

@HEAD 2 = Style sheet:<R>
The key to it all

The key to making database publishing simple is to create a style 
sheet which contains tags that will format the text automatically. 
If these tags are created correctly, you need to write very little 
database or spreadsheet code in order to completely automate the creation 
of your documents. The most important options in Ventura Publisher 
which make this automation possible are:<R>


@BULLET 1 = Paragraph Alignment

@BULLET 1 = Paragraph Spacing

@BULLET 1 = Paragraph Breaks

@BULLET 1 = Paragraph Tab Settings<R>


As you design each tag, you use the Alignment, Spacing, and Breaks 
options to place text vertically and horizontally with respect to 
the surrounding paragraphs and margins. Use the Tab Settings option 
to add leaders to the text, even when tab characters have not been 
inserted. With simple database publishing, once the style sheet is 
designed, most of the work has been done.

@HEAD 2 = Three style sheet strategies

The way in which you design the style sheet depends on what strategy 
you plan to use to format the database or spreadsheet information. 
While you can probably think of lots of ways to use Ventura Publisher's 
capabilities to automatically format text, this application note covers 
three general strategies:

1.<~>Put each field in a separate paragraph and then use the Paragraph 
menu's <B>Break<D>, <B>Spacing<D>, and <B>Alignment<D> options to 
position each paragraph horizontally and vertically on the page.

2.<~>Put all fields in one paragraph, but separate them with tab characters.

3.<~>Separate each field with a comma followed by a space in order 
to automatically generate a table which can be read by Ventura Publisher's 
Professional Extension.

The first technique has the following advantages:

@BULLET 1 = Lets you easily change the design of your document without 
changing your database program.

@BULLET 1 = Lets you create fields which are more than one line long.

@BULLET 1 = Lets you automatically extract fields into a header or 
footer (useful for directory headings).

@BULLET 1 = Lets you insert footnote information, which Ventura Publisher 
will then extract and place on the correct page.

@BULLET 1 = Lets you automatically generate numbers and special effects 
such as bullets or first big character.

The disadvantages to this technique are:

@BULLET 1 = It results in a lot of paragraphs. This slows the loading 
of each chapter since Ventura Publisher takes a fixed amount of time 
to load each paragraph, even if it is only one character long. Also, 
Ventura Publisher can only handle a maximum of 64,000 paragraphs per 
chapter, even with the Professional Extension.

@BULLET 1 = The text is not easily understood or used by another program. 
By contrast, when you use the second strategy (tabs between fields), 
the text is easily read and edited with any word processor.

The second technique has the following advantages:

@BULLET 1 = It is easy to understand because it is exactly the way 
you would extract text for use in a word processor.

@BULLET 1 = It results in fewer paragraphs, especially if you put 
line breaks between most records instead of a carriage<196>return<197>line<196>feed 
combination (i.e., a new paragraph). This in turn lets you create 
truly monstrous chapters.

The disadvantages of this strategy include:

@BULLET 1 = Without the Professional Extension, you can easily exceed 
the number of <B>line elements<D> per frame (see Appendix J in your 
Reference Guide for an explanation), because each tab consumes two 
line elements.

@BULLET 1 = Each record must be only one line.

The final approach provides by far the most flexibility and is the 
best general approach if you own the Professional Extension. With 
the tables feature you get almost all the advantages of either of 
the first two approaches plus:

@BULLET 1 = You can easily put pictures into a cell in the table.

@BULLET 1 = You can easily rotate text within a cell.

@BULLET 1 = The table ruling lines can easily be controlled

@BULLET 1 = Tints can be easily placed within any cell in the table.

Although the Professional Extension tables provides the best all around 
approach, it does suffer from a few disadvantages:

@BULLET 1 = You must convert comma spaces within fields to comma comma 
space. Otherwise a comma followed by a space <MI>within<D> the field 
of the database will cause Ventura Publisher to recognize the information 
following the comma space as a new field.

@BULLET 1 = Cannot extract headers or insert footnotes into a table.

@BULLET 1 = Requires custom code and in general more work to set up 
than the first two approaches.

@HEAD 1 = Chapter template

The examples which follow illustrate how to generate a single document 
from your database. However, suppose you want to generate another 
identical document, but with different data? For instance, each month 
you might need to create a revised membership directory. Once you 
have created a chapter which contains appropriate formatting information, 
page number, headers, footers, etc., you don't want to spend time 
in Ventura Publisher each month recreating this information. Fortunately, 
with any of the approaches outlined in the application note, you never 
need to recreate a chapter. All you do is to let your database or 
spreadsheet program write this month's text <MI>to the same file name 
as you used for last month's issue.<D> When you open the old chapter, 
it still points to the same text file name, but this file now contains 
<MI>this month's<D> information. Since Ventura Publisher generates 
headers, footers, page number, section numbering, etc. at the time 
that it loads the chapter, rather than saving it with the chapter 
file, all of these things are automatically updated to reflect the 
new database information. The number of pages will be increased or 
decreased as necessary to fit the latest version.

To create and use a chapter template, follow these steps:<R>


@BULLET 1 = Create a text file using one of the techniques described 
in this application note.

@BULLET 1 = Load this text file using the <B>Load Text/Picture<D> 
option (file menu). Place the text onto the page (rather than into 
a frame that you draw).

@BULLET 1 = Use all the features in Ventura Publisher to create your 
document.

@BULLET 1 = Save the chapter using the <B>Save As<D> option in the 
File menu.

@BULLET 1 = Quit from Ventura Publisher.

@BULLET 1 = At some later time when you want to create a new chapter 
using the updated information in your database, simply run your database 
program or spreadsheet macro again and save the resulting text <MI>into 
the same file name as before.<D>

@BULLET 1 = Run Ventura Publisher and Open the chapter that you saved 
before.

@HEAD 1 = dBase III Examples

Rather than describe the three strategies and the chapter template 
concept any further, this application note will provide a series of 
examples from which you can learn the necessary techniques. Each example 
is available on the diskette which accompanies this application note. 
For the database examples, simply copy all the files in the dBase 
directory on the diskette to the dBase subdirectory on your computer, 
run dBase, and then type <B>DO EXAMP?<D> where <B>?<D> is replaced 
by the example number. Then quit from dBase, run Ventura Publisher, 
and load the corresponding chapter. For example, if you type <B>DO 
EXAMP2<D> within dBase, then you would open the chapter called <B>EXAMP2.CHP<D>.

@HEAD 2 = Directory List

Probably the simplest type of publishing is the directory list. This 
list usually includes at least three fields from the database or spreadsheet:

@BULLET 1 = Last name

@BULLET 1 = First name

@BULLET 1 = Phone number

It may also include address and other information. By using a database's 
report generator, you can extract the information you want and simultaneously 
add Ventura Publisher tags. Ventura Publisher then takes this tagged 
text and automatically creates the phone list. Using the first strategy, 
each last name field is tagged as a separate paragraph, each first 
name field as another paragraph, and the phone number as a third paragraph. 
Each field is tagged with its own unique tag. The illustrations show 
the steps, along with how to accomplish the same thing with strategy 
two (tabs between fields.

The following is a listing of the important information for each tag 
for strategy one. The important tag settings are highlighted.

@Z_TBL_BEG = COLUMNS(3), DIMENSION(IN), COLWIDTHS(1.10,3.71,E1), ABOVE(.167), 
BELOW(.167), VJTOP(.167), VJBOT(.167), HGUTTER(.083), VGUTTER(.083), 
BOX(Z_DOUBLE), HGRID(Z_SINGLE), VGRID(Z_SINGLE), KEEP(OFF)

@Z_TBL_HEAD = TABLE 2, TABLE 2, TABLE 2

<B>Command<D><$!B11>, <B>Use<D><$!B11>, <B>Example<D><$!B11>

@Z_TBL_BODY = TABLE 2, TABLE 2, TABLE 2

@@Z_TBL_BEG = , Place at the beginning of a table,  @Z_TBL_BEG = 

COLUMNS( ), Defines the number of columns in the table, COLUMNS(4)

DIMENSION( ),  Defines the dimensions used for the parameters which 
follow. <B>IN specifies inches; PT specifies points; CM<D> specifies 
centimeters;<B> PI<D> specifies picas. You can locally override the 
global setting by placing these parameters directly after the parameter, 
DIMENSION(IN)

COLWIDTHS(W1,, W2,, ... WN), Defines the width of each cell within 
the table. <B>E specifies variable width., COLWIDTHS(.67,2.97,E1),<D>

WIDTH( ), Optional parameter. Width of column if <B>Custom is specified., 
WIDTH(5.00)<D>

INDENT( ), Optional parameter. Indent from left column if custom width 
is less than current column width., INDENT(1.00)

ABOVE( ), Optional parameter. Space above the table., ABOVE(.049)

BELOW( ), Optional parameter. Space below the table., BELOW(.017)

VJTOP( ), Optional parameter. Vertical justification above the table., 
VJTOP(.015)

VJBOT( ), Optional parameter. Vertical justification below the table., 
VJBOT(.031)

HGUTTER( ), Optional parameter. Space between columns., HGUTTER(.032)

VGUTTER( ), Optional parameter. Space between rows., VGUTTER(.059)

BOX( ), Optional parameter. Tag to be used for ruling lines around., 
BOX( Z_DOUBLE)

HGRID( ), Optional parameter. Tag to be used for ruling lines between 
rows., HGRID(Z_SINGLE)

VGRID( ), Optional parameter. Tag to be used for ruling lines between 
columns., VGRID(Z_SINGLE)

KEEP( ), Breaks are allowed (OFF) or not allowed (ON)., KEEP(OFF)

RULE(Tag Name,, Cell Range), Optional parameter(s). Defines ruling 
line override for any range in the cell. List all ruling line overrides 
at the beginning of table in one paragraph separated by commas., RULE(Z_HIDDEN,R9C2..R9C3)

@@Z_TBL_HEAD = tag1,, tag2,,  ...,,  tagn, Defines the tags for each 
column in the header row,  @Z_TBL_HEAD = TABLE TEXT,, TABLE 2,, TABLE 
3,, TABLE 4

@@Z_TBL_BODY = tag1,,  tag2,,  ...,,  tagn, Defines the tags for each 
column in a row. Use before first non-header row and before any row 
whose tags are different from preceding row. A tag for each column 
must be specified,  @Z_TBL_BODY = TABLE TEXT,, TABLE TEXT,, TABLE 
TEXT,, TABLE TEXT

C1,, C2,, C3,, C4, Data for each column in a row. Use a ^ character 
before the comma to indicate this cell is joined with the one above; 
+ to indicate this cell is joined with cell to the right.,  1,, 2,, 
3,, 4<R>
5,, 6,, ^,,  8<R>
9,, 10,, 11,, +,, +

  <<$!Bnm>>, Set tint for cell. Tint appears at end of cell entry. <B>n<D> 
is color,, <B>m<D> is pattern., 1b,, 2b,, 3b,, 4b<<$!B26>>

@@Z_TBL_END = , Indicates the end of the table.,  @Z_TBL_END = 

@Z_TBL_END = 

The beauty of Ventura Publisher's table feature is that from your 
database program or spreadsheet macro you can specify the number of 
columns using the COLUMNS parameter, and the width of each column 
using the COLWIDTHS parameter, and Ventura Publisher will do the rest, 
automatically adjusting the height of each row to accommodate the 
tallest cell. If you specify the @Z_TBL_HEAD tag followed by one or 
more rows of text, this text will be repeated at the top of each page 
onto which the table continues. For instance, if you wanted the headings 
<B>NAME<D>, <B>AGE<D>, and <B>RANK<D> to appear at the top of every 
page in a three column table, then the immediately following the KEEP 
or RULE parameter you would have two lines that look like this:<R>


@TAB 1 = <F2P8M> @Z_TBL_HEAD = tag1, tag2, tag3<F255P255D>

@TAB 1 = <F2P8M> NAME, AGE, RANK<F255P255D><R>
<R>
These two lines are then followed by:<R>
<R>
<F2P8M> @Z_TBL_BODY = tag1, tag2, tag3<F255P255D><R>
<R>
which is then followed by the actual data in the table.

@HEAD 2 = Separating fields

The only real problem in extracting information from databases is 
that many of them provide very limited export facilities and most 
provide no search and replace capabilities. This latter feature is 
important because each field in a Ventura Publisher table is separated 
by a comma followed by a space. However, if data <MI>within<D> a field 
contains a comma space, Ventura Publisher will interpret this as the 
end of one field and the beginning of another field. Obviously this 
won't work. Fortunately, if you place two commas followed by a space 
within a field, Ventura Publisher will interpret this as a single 
comma followed by a space, but no new field. If your database program 
allows search and replace, you can simply copy the database to a temporary 
database, search for every occurrence of comma-space and replace it 
with comma-comma-space, and export the resulting database.

Unfortunately, dBase III Plus doesn't come very close to providing 
these capabilities and therefore some programming may be required. 
However, if your database contains no <MI>comma-spaces<D> within any 
field, then you can simply extract fields using the label generator. 
You then create the file using the LABEL FORM command as in the previous 
example. Of course this doesn't put the table heading into the file. 
The simple way to do this is to create the table header in a separate 
file and the table end statement in another file and merely use the 
DOS<B> COPY<D> command to combine them altogether. Take a look at 
the example at the bottom of the page. This example also shows how 
to put frames within tables, which brings us to the next section <193>

@HEAD 2 = Frames within tables

Another frequent request is the ability to create documents which 
contain illustrations. Ideally these should be automatically placed 
at the correct location within your document. One way to do this is 
to have your database program place <MI>automatic<D> frame anchors 
within a table. If these anchors are placed by themselves in a cell 
in the table, then any pictures which already exist within the chapter 
template and which have been previously assigned anchor names which 
match those placed into the text will automatically move to the correct 
location in the table. One way to easily generate lots of frame anchor 
names is to use the record number as part of the anchor name. For 
instance, dBase label code shown at the bottom of the page generates 
a series of anchor names starting with FR1, FR2, FR3 <193> etc.

Of course to make this work, you must have frames in a chapter template 
which have matching anchor names, and which contain the pictures which 
you want to appear. How do you create the frames in the chapter template? 
The most straightforward way, although rather tedious, is to:

@BULLET 1 = Start with a blank chapter

@BULLET 1 = Immediately add a new page after the current page.

@BULLET 1 = Go to this inserted page (i.e., page 2) and draw one frame

@BULLET 1 = Copy this frame to the clipboard.

@BULLET 1 = Repeatedly paste a copy of this frame by pressing the 
<B>INS<D> key.

The frames can be all piled up on top of each other on the same page 
and Ventura Publisher will sort them all out when a text file containing 
the corresponding frame anchors is loaded.

To add anchor names to the pasted frames, select the <B>Anchors and 
Captions<D> option in the Frame menu after each frame is pasted, and 
then assign an anchor name. (You can use the Ctrl X shortcut to immediately 
recall the Anchors and Captions dialog box.)

@HEAD 2 = Edit chapter file

You can also edit the chapter file to create the additional frames 
and automatically insert frame anchor names. This is a little tricky, 
but if you want to create a chapter which has hundreds or thousands 
of frames, you really don't have much choice. By the way, before you 
begin, keep in mind that a chapter file can be no bigger than 64K, 
and the limit of the number of files in a chapter is 128.

Follow these steps to create a chapter which contains a large number 
of frames, each containing its own unique frame anchor name:

@BULLET 1 = Run Ventura Publisher.

@BULLET 1 = Insert a new page after the current page.

@BULLET 1 = Draw a frame which is the desired size.

@BULLET 1 = Load a file into the frame.

@BULLET 1 = Apply all appropriate frame attributes (i.e., all the 
options in the Frame menu), including an anchor name.

@BULLET 1 = Save the chapter.

@BULLET 1 = Copy the frame to the clipboard.

@BULLET 1 = Paste a copy of the frame back to the page.

@BULLET 1 = Load a different file into this new frame.

@BULLET 1 = Immediately select the <B>Anchors & Captions<D> option 
and assign an anchor name.

@BULLET 1 = Save the chapter under a new name using the <B>Save As<D> 
option in the File menu.

You now have two chapters which differ only by the addition of one 
frame. If you compare the two in your word processor, you will find 
that the only three differences are:

@BULLET 1 = The file counter has been incremented (see the figure 
below).

@BULLET 1 = The frame counter has been incremented.

@BULLET 1 = Several lines have been added to the end of the chapter 
file. This added information describes the new frame.

You can then load the second chapter file into your word processor 
(<MI>make sure you import and export it as an ASCII file).<D> You 
then write a macro which duplicates the added portion as many times 
as necessary in order to create the number of frames in your chapter 
(or simply use the cut/copy/paste facilities in your word processor). 
You can then also write a macro to update the file frame anchor names 
so that each new frame has its own unique file and anchor names. Finally, 
when you are finished, update the frame and file counters so that 
they describe the total number of files and frames in this template 
chapter (the counter operates in HEX).

To summarize: If you create text using the codes shown at the bottom 
of the previous page, and then load this text into the chapter template 
created using the method described above, you will end up with something 
that looks like this:<R>
<$&Anchor examp[-]>

@HEAD 1 = Subtotal publishing

So far you've seen how to use the three strategies (i.e., each field 
in a separate paragraph, each field separated by tabs, and each field 
in a different cell in a table) to create fairly simple documents. 
The main vehicle for extracting information from dBase III has been 
its label generator. You can also use the report generator to create 
documents which contain subtotals. This section shows how. Armed with 
this information, you should begin to see how you could publish a 
more complex document such as a catalog.

Unfortunately the dBase report generator places a lot of extraneous 
heading information, carriage returns, and other characters into the 
output file. While you can write custom code to create any file you 
want, this takes time and doesn't execute as fast as a dBase program. 
However, if you use a search and replace utility, you can eliminate 
all of the extraneous information in the file after you have created 
it. For example, a utility called <B>SNR<D> is a shareware utility 
from Thomas A. Lundin, Graphics Unlimited Inc., 3000 2nd St. N., Minneapolis, 
MN 55411, (612) 588-7571. It lets you construct a search and replace 
table in which you can specify several search and replace strings 
so that several items can be altered or removed during one single 
pass through the file. A typical search table looks like this:<R>
<$&snr[-]>

Thus, if you want to publish a database using the dBase report code 
described above, you could write a little dBase PRG file that looks 
like this:

@TABLE 2 = <F1M>use examp3<F255D>

@TABLE 2 = <F1M>report form examp3 to examp3<F255D>

@TABLE 2 = <F1M>!snr examp3.txt xxx snr.snr<F255D>

@TABLE 2 = <F1M>!del examp3.txt<F255D>

@TABLE 2 = <F1M>!rename examp3.xxx examp3.txt<F255D>

The file <F2M>SNR.SNR<F255D> contains the search table shown in the previous 
column.

@HEAD 1 = Custom dBase code

If you are willing to write custom dBase code, you can create just 
about any text file you wish. You could even create your own chapter 
files! However, this is beyond most people's abilities.

To give you some idea of what is possible with custom dBase code, 
a modest dBase program is included with this application note (example 
4). This program allows you to specify any valid dBase database file 
and then lets you specify which fields you wish to extract and in 
which order. You can also optionally apply a different tag to each 
field. The program then extracts the information into a Ventura Publisher 
Professional Extension table. The width of each column is set to the 
width of the field in the database. Unlike many dBase programs, this 
one will extract memo fields.

You will find this program quite useful, with one caveat: It is slow. 
dBase code just doesn't execute very fast. However, if you own Foxbase, 
Clipper, or similar dBase compilers, you should be able to compile 
this code and notice a marked improvement. The program is heavily 
commented to help you if you should choose to modify it.

@HEAD 2 = Catalog publishing

Example 5 on the distribution disk provides a good example of catalog 
publishing. The techniques used are the same as already discussed.

@HEAD 1 = Spreadsheet publishing

All of the examples so far have concentrated on how to extract information 
from a database (using dBase III as the example). The same three strategies 
also apply to a spreadsheet. This section describes several methods 
for exporting information from Lotus <->1-2-3 into Ventura Publisher.

@HEAD 2 = PRN to Table

If you own the Professional Extension, you can print a spreadsheet 
to a file using the <B>/PF<D> command. You then specify the file name 
and the range you wish to export, and 1-2-3 does the rest. When you 
then run Ventura Publisher, you select the <B>Load Text/Picture<D> 
option, choose <B>PRN-to-table<D>, and then select the file you created 
in 1-2-3. This feature works very well, except for the fact that you 
must first make sure that you have at least two spaces between each 
column. This means you may need to use the <B>/WCS<D> or <B>/WGC<D> 
commands to increase the width of some or all of the columns. Since 
extra spaces between columns are deleted by the PRN-to-table converter, 
you should err on the side of making the columns too wide.

If you don't own the Professional Extension, then you can still export 
the text to a PRN file using the /PF command in 1-2-3, and then load 
it as a <B>Wordstar 3<D> file (the Wordstar 3 converter treats each 
line of text as a separate paragraph, whereas the ASCII converter 
requires a blank line between each line). The result is a line of 
text for each row in the spreadsheet.

However, <MI>you must use the Courier (mono-spaced) font<D>, or else 
columns will no longer align. This is due to the fact that Ventura 
Publisher uses proportionally spaced fonts. Thus, if the first column 
in a row contains many narrow characters (such as <B>i<D>) and the 
row below contains lots of wide characters (such as <B>w<D>), the 
second column in the first row will start further to the left than 
the second column in the second row.

You can purchase one of several utilities (listed at the end of this 
note) which remove multiple space characters between columns and replace 
them with tab characters. You then use the <B>Tab Settings<D> option 
(Paragraph menu) to set the tab stops in Ventura Publisher's style 
sheet to make the columns line up. This works extremely well for many 
spreadsheets because Ventura Publisher includes a <B>decimal tab<D> 
which forces numbers to line up at the decimal point. 

@HEAD 2 = Lotus 1-2-3 simple macro

The reason why you need to use an external utility is that 1-2-3 does 
not let you place a tab character within a cell of the spreadsheet. 
(When you press the tab key, or ALT 9, the screen moves.) If you <MI>could<D> 
place a tab character within a cell, you could then insert one-character-wide 
columns between each existing column, copy the tab character into 
each column, and then print the spreadsheet. You would then have a 
spreadsheet file which contains tabs between text.

Well, with a little work, you <MI>can<D> place a tab character within 
a cell. The key is to use a simple 1-2-3 macro. For instance, type 
the following into any six cells in your spreadsheet:

@TABLE 2 = <MU>	<BU>Col1	Col2<D>

@TABLE 2 = Row1	\m          {LET Tab,@CHAR(9)}~

@TABLE 2 = Row2		

@TABLE 2 = Row3	Tab

Then place the cursor in the cell which contains <B>\m<D>, type <F1B>/RNLR<F255D> 
and the press the down arrow twice so that both <B>\m<D> and the word 
<B>Tab<D> are covered. Then press the enter key. If you then press 
<F1B>ALT M<F255D>, the tab character will be placed in Row3, Column2.

Once you have run this macro, you can then copy the tab character 
to any other range by typing:

<F1B>/Ctab<F255D><R>
<R>
followed by the destination range.

@HEAD 2 = Lotus 1-2-3 advanced macro

If you really know 1-2-3 macro programming, you can almost completely 
automate the file tagging and export process. Included with this application 
note is a very sophisticated macro contained in a file called <B>123TOVP.WK1<D>. 
This macro is designed to be combined with any existing spreadsheet. 
Once combined, you simply:

@BULLET 1 = Select the range to export.

@BULLET 1 = Decide which of the three strategies you wish to use (tags 
between columns, tabs between columns, or Professional Extension table 
export).

@BULLET 1 = Specify a file and export the text to that file.<R>
<R>
<B>To use this macro:<D>

@BULLET 1 = Copy the file <F1B>123TOVP.WK1<F255D> to your Lotus 1-2-3 default 
directory.

@BULLET 1 = Run 1-2-3.

@BULLET 1 = Use the 1-2-3 <F1B>/FR<F255D> command to retrieve your spreadsheet 
file.

@BULLET 1 = Press the <B>END<D> then <B>HOME<D> key followed by the 
down arrow and right arrow keys to go to the end of your spreadsheet.

@BULLET 1 = Type <F1B>/FCCE123TOVP.WK1<F255D> followed by the Enter key.

@BULLET 1 = Immediately type <F1B>/RNLR<F255D> followed by <B>Enter<D>.

@BULLET 1 = Press <F1B>ALT V<F255D> to start the Ventura Publisher macro.

@BULLET 1 = Follow the instructions given on screen.

After you are finished, use the <F1B>/WEY<F255D> command to erase the spreadsheet.

This macro is provided <MI>as is<D> for your own use and is not for 
sale and is not supported. If you want to modify the macro to try 
to speed it up, go right ahead.

@HEAD 1 = External products

The following is a list of programs designed to aid in the export 
of database and spreadsheet information into Ventura Publisher.

@HEAD 2 = Advanced Systems, Ltd.

@TAB 1 = 803 West Main Street, Suite 112<R>
League City, TX 77573<R>
(713) 333-9717

@TAB 1 = <B>1-2-3 to Professional Extension tables<D>. All formatting 
(e.g., join cells, tints, tagging) done in 1-2-3. Assures that table 
format is not lost when spreadsheet changes.

@HEAD 2 = Corel Systems Corporation

@TAB 1 = Corel Building<R>
1600 Carling Avenue<R>
Ottawa, Ontario, Canada K1Z 7M4<R>
(613) 728-8200

@TAB 1 = <B>Tabin<D>. Inserts tabs into spreadsheet printouts for 
proportional spaced printouts of tables.

@HEAD 2 = The Desktop Publishing Group

@TAB 1 = 978 Douglas Avenue<R>
Altamonte Springs, FL 32714<R>
(800) 257-8087<R>
(305) 862-7755

@TAB 1 = <B>Table Manners<D>. Transfers Lotus 123 files to Ventura 
Publisher.

@HEAD 2 = Digital Presentation Services

@TAB 1 = 220 W. 24th St.<R>
New York, NY 10011<R>
(212) 924-7661

@TAB 1 = <B>VP Utility Pak I<D>. Table creation and text creation 
utilities for preparing documents and spreadsheets for importation 
into Ventura Publisher.

@HEAD 2 = The Laser Edge

@TAB 1 = 360 17th Street<R>
Suite 203<R>
Oakland, CA 94612<R>
(415) 835-1581

@TAB 1 = <B>XVP/BASE<D>. dBase III to Ventura Publisher translator.

@TAB 1 = <B>XVP/Tabs<D>. Inserts tabs into spreadsheet printouts for 
perfect proportional spaced printouts of tables.

@HEAD 2 = Original Software Concepts

@TAB 1 = Kent Lodge, 38 Castle Hill<R>
Maidenhead, Berkshire, SL6 4JJ<R>
England<R>
FAX (011 44) 628 770658

@TAB 1 = <B>Database Publisher<D>. GEM-based database extraction and 
automatic tagging program.

@HEAD 2 = Publishing Solutions

@TAB 1 = 205 E. 78th St. Ste. 17-T<R>
New York, NY 10021<R>
(212) 288-2470

@TAB 1 = <B>dataTAG<D>. Incorporate database information into Ventura 
Publisher.

