Help w/ seq numbering

T

Texter

I merge data from Access into a Word document to generate contracts. Each
record (person) gets a separate contract. Each contract should have a unique
sequential number assigned to it. I found the following code from MVP.
However it assigns the same number to every contract. Any suggestions?

Dim Message As String, Title As String, Default As String, NumCopies As Long

Dim Rng1 As Range



'Set prompt.

Message = "Enter the number of copies that you want to print"

'Set title.

Title = "Print"

'Set default.

Default = "1"



'Display message, title, and default value.

NumCopies = Val(InputBox(Message, Title, Default))

SerialNumber = System.PrivateProfileString("C:\Settings.txt",
"MacroSettings", "SerialNumber")



If SerialNumber = "" Then

SerialNumber = 1

End If



Set Rng1 = ActiveDocument.Bookmarks("SerialNumber").Range

Counter = 0



While Counter < NumCopies

Rng1.Delete

Rng1.Text = SerialNumber

ActiveDocument.PrintOut

SerialNumber = SerialNumber + 1

Counter = Counter + 1

Wend



'Save the next number back to the Settings.txt file ready for the next use.

System.PrivateProfileString("C:\Settings.txt", "MacroSettings",
"SerialNumber") = SerialNumber



'Recreate the bookmark ready for the next use.

With ActiveDocument.Bookmarks

.Add Name:="SerialNumber", Range:=Rng1

End With

ActiveDocument.Save



Thanks for your help!!

Lance
 
D

Doug Robbins

Hi Lance,

See the article "Creating sequentially numbered documents (such as
invoices)" at:

http://word.mvps.org/FAQs/MacrosVBA/NumberDocs.htm

Or, probably better to add a field to the data source to contain the numbers
and then merge that field into the documents.
--
Please respond to the Newsgroup for the benefit of others who may be
interested. Questions sent directly to me will only be answered on a paid
consulting basis.

Hope this helps,
Doug Robbins - 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