Reply
 
Thread Tools Display Modes
  #1   Report Post  
Posted to microsoft.public.word.docmanagement
glinishmak
 
Posts: n/a
Default Letter Auto-Fill From Access

I am no IT person, so I don't know how easy or difficult this is. If it
requires VB or XML, hopefully it's easy to understand.

I have several forms in Word that are set up with Fill-In Fields. One is a
fax cover sheet with fields for Recipient's Name, Agency, Fax Number, and
Phone Number. The other is a letter with fields for Recipient's Name, Agency,
Address, City, State, and Zip.

I'd like to be able to enter the Recipient's Name, either with a drop-down
menu or Fill-In Field, and have the other fields automatically fill in. It
would make life much easier, since virtually every time I use these forms
they are being sent to a different recipient and require that all the fields
be filled in manually.

Is this possible? If possible, how should I store my contact information
(Access, Excel, another Word document, etc.) to make this easiest? And how
would I go about changing my forms to make this happen?
  #2   Report Post  
Posted to microsoft.public.word.docmanagement
Graham Mayor
 
Posts: n/a
Default Letter Auto-Fill From Access

This would be fairly straightforward to do if your contacts were in Outlook,
but would require some programming - see
http://www.gmayor.com/Macrobutton.htm

--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


glinishmak wrote:
I am no IT person, so I don't know how easy or difficult this is. If
it requires VB or XML, hopefully it's easy to understand.

I have several forms in Word that are set up with Fill-In Fields. One
is a fax cover sheet with fields for Recipient's Name, Agency, Fax
Number, and Phone Number. The other is a letter with fields for
Recipient's Name, Agency, Address, City, State, and Zip.

I'd like to be able to enter the Recipient's Name, either with a
drop-down menu or Fill-In Field, and have the other fields
automatically fill in. It would make life much easier, since
virtually every time I use these forms they are being sent to a
different recipient and require that all the fields be filled in
manually.

Is this possible? If possible, how should I store my contact
information (Access, Excel, another Word document, etc.) to make this
easiest? And how would I go about changing my forms to make this
happen?



  #3   Report Post  
Posted to microsoft.public.word.docmanagement
Doug Robbins - Word MVP
 
Posts: n/a
Default Letter Auto-Fill From Access

I would create a userform in your template

See the article "How to create a Userform" at:

http://word.mvps.org/FAQs/Userforms/CreateAUserForm.htm


and then you could use the following method to populate a list box on the
userform with data from an Access table

And, here are a couple of ways of loading data from a table in Access;

Private Sub UserForm_Initialize()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim NoOfRecords As Long
' Open the database
Set db = OpenDatabase("D:\Access\ResidencesXP.mdb")
' Retrieve the recordset
Set rs = db.OpenRecordset("SELECT * FROM Owners")
' Determine the number of retrieved records
With rs
.MoveLast
NoOfRecords = .RecordCount
.MoveFirst
End With
' Set the number of Columns = number of Fields in recordset
ListBox1.ColumnCount = rs.Fields.Count
' Load the ListBox with the retrieved records
ListBox1.Column = rs.GetRows(NoOfRecords)
' Cleanup
rs.Close
db.Close
Set rs = Nothing
Set db = Nothing
End Sub



--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

"glinishmak" wrote in message
...
I am no IT person, so I don't know how easy or difficult this is. If it
requires VB or XML, hopefully it's easy to understand.

I have several forms in Word that are set up with Fill-In Fields. One is a
fax cover sheet with fields for Recipient's Name, Agency, Fax Number, and
Phone Number. The other is a letter with fields for Recipient's Name,
Agency,
Address, City, State, and Zip.

I'd like to be able to enter the Recipient's Name, either with a drop-down
menu or Fill-In Field, and have the other fields automatically fill in. It
would make life much easier, since virtually every time I use these forms
they are being sent to a different recipient and require that all the
fields
be filled in manually.

Is this possible? If possible, how should I store my contact information
(Access, Excel, another Word document, etc.) to make this easiest? And how
would I go about changing my forms to make this happen?



  #4   Report Post  
Posted to microsoft.public.word.docmanagement
Doug Robbins - Word MVP
 
Posts: n/a
Default Letter Auto-Fill From Access

This routine loads a listbox on a userform with client details stored in a
table in a
separate document (which makes it easy to maintain with additions, deletions
etc.),
that document being saved as Clients.Doc for the following code.

On the UserForm, have a list box (ListBox1) and a Command Button
(CommandButton1) and use the following code in the UserForm_Initialize() and
the CommandButton1_Click() routines

Private Sub UserForm_Initialize()
Dim sourcedoc As Document, i As Integer, j As Integer, myitem As Range,
m As Long, n As Long
' Modify the path in the following line so that it matches where you
saved Clients.doc
Application.ScreenUpdating = False
' Open the file containing the client details
Set sourcedoc = Documents.Open(FileName:="e:\worddocs\Clients.doc" )
' Get the number or clients = number of rows in the table of client
details less one
i = sourcedoc.Tables(1).Rows.Count - 1
' Get the number of columns in the table of client details
j = sourcedoc.Tables(1).Columns.Count
' Set the number of columns in the Listbox to match
' the number of columns in the table of client details
ListBox1.ColumnCount = j
' Define an array to be loaded with the client data
Dim MyArray() As Variant
'Load client data into MyArray
ReDim MyArray(i, j)
For n = 0 To j - 1
For m = 0 To i - 1
Set myitem = sourcedoc.Tables(1).Cell(m + 2, n + 1).Range
myitem.End = myitem.End - 1
MyArray(m, n) = myitem.Text
Next m
Next n
' Load data into ListBox1
ListBox1.List() = MyArray
' Close the file containing the client details
sourcedoc.Close SaveChanges:=wdDoNotSaveChanges
End Sub

Private Sub CommandButton1_Click()
Dim i As Integer, Addressee As String
Addressee = ""
For i = 1 To ListBox1.ColumnCount
ListBox1.BoundColumn = i
Addressee = Addressee & ListBox1.Value & vbCr
Next i
ActiveDocument.Bookmarks("Addressee").Range.Insert After Addressee
UserForm2.Hide
End Sub

The Initialize statement will populate the listbox with the data from the
table and then when a client is selected in from the list and the command
button is clicked, the information for that client will be inserted into a
bookmark in the document. You may want to vary the manner in which it is
inserted to suit our exact requirements, but hopefully this will get you
started.

To make it easy for you, the code has been written so that it will deal with
any number of clients and any number of details about each client. It
assumes that the first row of the table containing the client details is a
header row.


--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

"glinishmak" wrote in message
...
I am no IT person, so I don't know how easy or difficult this is. If it
requires VB or XML, hopefully it's easy to understand.

I have several forms in Word that are set up with Fill-In Fields. One is a
fax cover sheet with fields for Recipient's Name, Agency, Fax Number, and
Phone Number. The other is a letter with fields for Recipient's Name,
Agency,
Address, City, State, and Zip.

I'd like to be able to enter the Recipient's Name, either with a drop-down
menu or Fill-In Field, and have the other fields automatically fill in. It
would make life much easier, since virtually every time I use these forms
they are being sent to a different recipient and require that all the
fields
be filled in manually.

Is this possible? If possible, how should I store my contact information
(Access, Excel, another Word document, etc.) to make this easiest? And how
would I go about changing my forms to make this happen?



Reply
Thread Tools
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
First letter of sentence does not auto cap in numbered list Bud Page Layout 3 April 28th 06 07:33 PM
Merge a letter to Access Lesah Mailmerge 3 December 19th 05 09:18 PM
Convert to Symbols Omar Menjivar Microsoft Word Help 7 June 27th 05 07:32 PM
How do I access Auto Recovery George Ross Microsoft Word Help 1 June 7th 05 12:31 PM
How do I access a created template from letter wizard trying to streamline Microsoft Word Help 6 January 5th 05 02:52 AM


All times are GMT +1. The time now is 09:11 AM.

Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 Microsoft Office Word Forum - WordBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Word"