Solved

Delphi 5 Word Servers and Merging Information

Posted on 2000-05-14
9
235 Views
Last Modified: 2010-04-04
My company uses Word documents as forms.  Now they just print out the forms and then fill in the blanks.  What I want to do is use the new D5 Servers and by using some type of mail merge field on the word 97 document,  fill in and print the document in the background not showing the word document or Word at all.  I am getting my information from an Access 97 database and need to insert information of all tipes into the Word Document--Text, numbers, memo and boolean.  I am new at using D5's Servers so it would be nice for an example or a website for me to get information from.  I also have about 500 docs to change if I can get this working, so I would appreciate a simple change for the doc files.
0
Comment
Question by:rwasaff
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
  • +1
9 Comments
 
LVL 17

Accepted Solution

by:
inthe earned 100 total points
ID: 2809032
hi,
there may be some info here that helps:

http://www.djpate.freeserve.co.uk/Automation.htm

0
 
LVL 1

Expert Comment

by:wmckie
ID: 2809805
Hi

Here's another place that may help, especialy the word components.

http://www.capturebeat.com

I've only created one program similar to what you've described, I found it useful to create word fields for all of the input areas, that made it much easier to navigate the doc.

Cheers - Walter McKie
0
 
LVL 1

Expert Comment

by:bozo7
ID: 2811062
Here is how I did it.



unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  {$IFDEF VER130}
  Word97,
  {$ELSE}
  Word_TLB,
  {$ENDIF}
  StdCtrls, Db, DBTables, Dialogs, Buttons;

type
  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    opdlOpen: TOpenDialog;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    Word: _Application;
    Doc: _Document;
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

uses ComObj, ActiveX;

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  Pause, sFilename: OleVariant;
  i : Integer;
begin
  if opdlOpen.execute = True then
  begin
    sfilename := opdlOPen.filename;
    Doc := Word.Documents.open(sFileName,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);

    Pause := False;
    with Doc.MailMerge do
    begin
      Destination := wdSendToNewDocument;
      Datasource.FirstRecord := wdDefaultFirstRecord;
      Datasource.LastRecord := integer(wdDefaultLastRecord);
      Execute(Pause);
    end;

    doc.PrintOut(EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam)
  end;
  showmessage('Done');
  for i := 0 to 10 do
    Beep;
end;

procedure TForm1.FormDestroy(Sender: TObject);
var
  SaveChanges: OleVariant;
begin
  SaveChanges := wdDoNotSaveChanges;
  Word.Quit(SaveChanges, EmptyParam, EmptyParam);
  Doc := nil;
  Word := nil;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  Unknown: IUnknown;
  Result: HResult;
begin
  {$IFDEF VER120}      // Delphi 4
  Result := GetActiveObject(CLASS_Application_, nil, Unknown);
  if (Result = MK_E_UNAVAILABLE) then
    Word := CoApplication_.Create

  {$ELSE}              // Delphi 5
  Result := GetActiveObject(CLASS_WordApplication, nil, Unknown);
  if (Result = MK_E_UNAVAILABLE) then
    Word := CoWordApplication.Create
  {$ENDIF}

  else begin
    { make sure no other error occurred during GetActiveObject }
    OleCheck(Result);
    OleCheck(Unknown.QueryInterface(_Application, Word));
  end;
  Word.Visible := False;

end;

end.

I got this info from
http://www.djpate.freeserve.co.uk/AutoWord.htm

Hope this helps
Ross
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Expert Comment

by:bozo7
ID: 2811067
opdlOpen is an OpenDialog box.

Ross
0
 
LVL 1

Expert Comment

by:bozo7
ID: 2811074
The Beep stuff was just for fun.

Ross
0
 

Author Comment

by:rwasaff
ID: 2844435
Sorry it took me so long to get back.  You know how other things become more important at times.

I finally got to look at the examples and web sites you all suggested.  An I would like to give each of you 100 points if I could.  Could you tell me how to do this?  Do I just Accept each answer and would you get each 100 points.  This is what I want to do.

You all were a big help. Thanks

Bob  
0
 
LVL 17

Expert Comment

by:inthe
ID: 2846846
hi,
nice idea ;-)

to do so you have to ask new questions to each expert (just put experts name in title) then experts will put something (eg hello )as answer for question and then can get points..
yopu can accept one of the comments here as answer also or delete this question then ..

Regards Barry

0
 

Author Comment

by:rwasaff
ID: 2848098
Comment accepted as answer
0
 

Author Comment

by:rwasaff
ID: 2848099
And Thank you Again for the informstion
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question