Scripting Microsoft Word - Closing, Saving, and Exiting
(Page 4 of 4 )
Now that you’ve learned how to open and edit documents using the Word automation object, we’ll look at how to close them. You can optionally save your document as well. Just as within the Word application itself, you can save an opened document or save as a new document.
Const wdDoNotSaveChanges = 0
Const wdSaveChanges = -1
Const wdPromptToSaveChanges = -2
objDoc.Close wdSaveChanges
The Document object provides a Close method for closing open documents. It does not require any parameters but has a few optional ones to determine whether a file should be saved and what format to save it with. For more information see the MSDN documentation here. In this example, we are saving changes before closing the document.
objDoc.Save True
You can save documents without closing by using the Save method. I’ve included an optional parameter that suppresses the save changes dialog box.
You can save all open documents simultaneously by using the Save method provided by the Documents collection object.
Finally, you can save a document as a new document by using the SaveAs method. This is essentially the same as using the Save As… command from the File menu and has optional parameters that include most of the options available with the Save As… dialog. For our purposes, we’ll just look at how to save a document with a new name. For more information, consult the MSDN documentation here.
objDoc.SaveAs "mynewdoc.doc"
Any time that you use the Word automation object, you want to be sure to close the application or it will continue to run in memory even after your script exits. The Word object provides the Quit method for this purpose. You may also supply optional parameters, including one of the wdSaveOptions constants you saw with the Close method above.
objWord.Quit wdDoNotSaveChanges
The above line is very common when automating Word from a VBScript. This quits then closes all open documents and quits the Word application without prompting you to save changes.
You now have a good framework to begin exploring different ways of automating the Microsoft Word application using its OLE automation object. You may find this a little frustrating in the beginning, but the MSDN documentation is very thorough and there are several sample scripts available if you do a bit of Googling. I’ll be featuring some more advanced techniques using the Word automation object in an upcoming article. Until next time, keep coding!
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |