Solved

Add Random Number to Word

Posted on 2014-09-25
9
1,789 Views
Last Modified: 2014-10-02
Hello,

I want to add a random number, preferably six digits, to a Word document that I print out for customers.  Sequential would be fine, but the point is to add this number and have it be different every time I print.  That way, each customer sheet has a unique number and I will print out a corresponding ticket to give to the customer for pick up purposes.  This will avoid any issues with customers picking up their equipment and finding out later that it was not them. :(

How would I do this?  I found out about Macros, but I have never used it before.

Thank you in advance.
0
Comment
Question by:Scott Thompson
  • 4
  • 2
  • 2
  • +1
9 Comments
 
LVL 19

Expert Comment

by:Montoya
ID: 40344186
do you want the random number in the filename, or do you want it somewhere INSIDE of Word??
0
 
LVL 8

Author Comment

by:Scott Thompson
ID: 40344205
I want it displayed on the sheet.  I'll upload a picture of the sheet and mark where I want it.

Random Number?
0
 
LVL 19

Expert Comment

by:Montoya
ID: 40344252
one more question. Do you truly want a random number? A random number can repeat. Don't you want to avoid duplicates?
0
 
LVL 76

Assisted Solution

by:GrahamSkan
GrahamSkan earned 333 total points
ID: 40344254
Generating a random six digit number in VBA is relatively easy in VBA.
 MyNumber = Int(Rnd * 1000000)

Open in new window

The difficult bit would be to ensure that the number has not been used before. This means that you must have a record of what numbers have already been used. The best place for that would be a database. Do you have Access?
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 8

Author Comment

by:Scott Thompson
ID: 40344263
I do not have Access.  I didn't post it before, sorry about that.  I have Word 2010.

How do I insert this code into Word?
0
 
LVL 76

Accepted Solution

by:
GrahamSkan earned 333 total points
ID: 40344840
You should put the code in the ThisDocument module of your Template. Here is the code in a procedure.
Sub Document_New()
    Dim lRand As Long
    Randomize 'see the randomisation process with the current time
    lRand = Int(Rnd * 1000000)
    ActiveDocument.Bookmarks("bmkNumber").Range.Text = Format(lRand, "000000") 'format to keep any leading zeros
End Sub

Open in new window

You will need a bookmark named 'bmkNumber' at the place where the number is to appear. The code runs when you create a new document (File/New).

The code does not attempt to weed out duplicates. For that you will need to keep a list of previously used numbers somewhere. It could be in the template as document variables or as text another Word document, but if there are many numbers, performance wouldn't be very good. If you have Excel, you can use that as a poor man's database.

Your document looks like a paper form. If it is to be completed in Word, you might want to create an electronic version by inserting content controls at the places where data is to be entered. Data from these controls could be entered in the Excel sheet so the the document number could be associated with other details such as the customer name
0
 
LVL 8

Author Comment

by:Scott Thompson
ID: 40345000
Thank you for the code.  I will give that a try.  But you did say that this code would be for when you create a new document.  I want this code to run when I open this document, so everytime I print I have a different number.  Do you know if that is possible?
0
 
LVL 32

Assisted Solution

by:Rob Henson
Rob Henson earned 167 total points
ID: 40346293
This sounds like a case for a mail merge style document.

The data records would be in a table of some form, Access would be ideal as you can then set a Primary Key to each record, Excel would be good as you could generate a new number for each entry with a formula, another Word document with a table would be OK but more manual effort needed for the Unique number element.

When using Mail Merge, you would populate the Data Table with the required details of the new document and then run a merge routine in the template document and select only the new entry to print.

I realise this is probably a lot of work to implement into an existing process/document but could be worth it in the end.

Thanks
Rob H
0
 
LVL 8

Author Closing Comment

by:Scott Thompson
ID: 40358609
Thank you everybody for your suggestions.  I have other projects I'm working on, so I'm closing this for now. I'll give those a try when I have time.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Introduction This tutorial provides instructions on how to properly format your Word document using the inbuilt tools provided. The benefits of using these tools means your documents are more accessible and easily portable to other applications an…
A few years ago I was very much a beginner at VBA, and that very much remains the case today.  I'll do my best to explain things as I go in the hope that other beginners can follow.  If you just want to check out a tool that creates a Select Case fu…
Learn how to make your own table of contents in Microsoft Word using paragraph styles and the automatic table of contents tool. We'll be using the paragraph styles in Word’s Home toolbar to help you create a table of contents. Type out your initial …
In a previous video Micro Tutorial here at Experts Exchange (http://www.experts-exchange.com/videos/1358/How-to-get-a-free-trial-of-Office-365-with-the-Office-2016-desktop-applications.html), I explained how to get a free, one-month trial of Office …

867 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now