I’m writing a Word/VBA macro for a document template. Every time a user saves/creates a new document from the template, the document needs an ID embedded in the text. How can I (as simple as possible) implement auto-increment for this ID? The ID is numeric.
The system has to have some kind of mechanism to avoid different documents getting the same IDs, but the load is very low. About 20 people will use this template (on our intranet), creating something like 20 new documents a week altogether.
I’ve toyed with the idea of having a text file that I lock and unlock from the macro, or call a PHP page with an SQLite database, but is there other, smarter solutions?
Note that I can’t use UUID or GUID, since the IDs need to be usable by humans as well as machines. Our customers must be able to say over the phone: “… and about this, then, with ID 436 …?”
It seems I found a way to open and update a text file with exclusive rights, which means that there will be no concurrency problems:
Simply call this function until it doesn’t return -1 anymore. Neat.