Solved

Add Random Number to Word

Posted on 2014-09-25
9
2,214 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
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
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
 
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 33

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

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

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

Introduction Authors who set out to write any sort of lengthy piece for online submission—be it a long question or comment on a technical form, an article, or a substantial blog entry—often find it useful to work up a draft in an editor other t…
This article describes how to use the Send to Mail Recipient command. The instructions apply generally to Office 2007 and later versions, but Microsoft® Word 2013 was used for the specific steps and figures.  What is Send to Mail Recipient? Send…
This video shows and describes the main difference between both orientations in Microsoft Word. Viewers will understand when to use each orientation and how to get the most out of them.
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 …

821 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