Design, design, design.
I am assuming you are talking about a real executable VB app, not VBA. Correct?
Trouble is if a user wants to save the completed word document
I am not being rude, but this is silly. The key word is "if".
You have a Word document as a form. It is protected, presumably there are formfields (which require protection in order to work). However, even if there are NOT formfields, you have the document protected, because you do not want the user to edit the file. Correct?
You app fills in the bits.
1. is there ANY user input? You do not state so, but I assume there must be...other wise why even have the user looking at it?
2. The document is changed by something (the app), but WHAT is changed is not stated. In any case, from a design point of view, why would you even make changes to a document and NOT save it? In which case, the "if" is silly. Are there ever going to be cases where the app "fills in the bits" and you do not want to save it?
My point being, do not give the user an "if".
Are you creating the presenting file, the one the user sees, from a template, or are you opening an existing file, making changes, and doing a save as? This makes a difference to the way closing procedures can function.
Design, design, design.
You want to close a changed file? Explicitly close it (you do, not the user) with a read-only argument, if that is what you want it to be. The reason it is asking is that the file you are opening is read-only, and you are making changes to it.
A simple way around this is open the original file, open a blank file and copy the original file contents to the new file, and work from there.
This saves the original, as is.
Another way, is to create a new file from a template. Again, this saves the original, and any save operations are not going to have a read-only issue.
OR, you as the programmer explicitly close the file using SaveAs, with whatever arguments you need. If you have to (?) let the user have the "if", rewrite the SaveAs command into a form that you control, and again "if" they choose to save it, programatically close it, with the appropriate arguments.
Gerry