AutoitMike 0 Posted March 13, 2011 I am trying to close a Word doc that is opened by Word using _WordDocClose I don't know what to use for "ByRef $o_object" Thanks Share this post Link to post Share on other sites
Melba23 3,489 Posted March 13, 2011 AutoitMike,As it clearly shows in the Help file example for _WordDocClose, the first parameter ($o_object) is the Microsoft Office Word Object returned when you use _WordCreate.If you did not open the document using _WordDocOpen then you need to use _WordAttach to get the object value from the existing Word instance - again the Help file is your friend here with working examples for all of the commands.I hope that helps. M23P.S. Just in case you have not got the message - make sure you read the Help file for the command you want to use (and those commands associated with it) paying particular attention to the examples showing how to use it. Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Share this post Link to post Share on other sites
AutoitMike 0 Posted March 13, 2011 (edited) Sorry,I cant seem to make it work. I want to close an existing document named "MYdoc.doc" using the info in the title bar which is "MYDoc.doc"I am trying the following:Shouldn't this close it ??_WordDocClose(_WordAttach("MYdoc.doc","title"))This produces an error.C:\HouseMaster\Programs\test.au3(5,50) : ERROR: _WordDocClose() called with Const or expression on ByRef-param(s)._WordDocClose(_WordAttach("MYdoc.doc","Title"))~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^C:\Program Files\AutoIt3\Include\Word.au3(594,102) : REF: definition of _WordDocClose().Func _WordDocClose(ByRef $o_object, $i_SaveChanges = -2, $i_OriginalFormat = 2, $f_RouteDocument = 0)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^C:\HouseMaster\Programs\test.au3 - 1 error(s), 0 warning(s) Edited March 13, 2011 by AutoitMike Share this post Link to post Share on other sites
AutoitMike 0 Posted March 13, 2011 (edited) OK, I opened the example which shows how to get the collection, which I dont need. Then I replaced the get collection with doc close. The following works: $WordApp = _WordAttach ("68997-MN.doc", "FileName") If Not @error Then $Doc = _WordDocGetCollection ($WordApp, 0) _WordDocClose ($Doc) EndIf So in order to close a document, I have to use the function $Doc = _WordDocGetCollection ($WordApp, 0) ??? It seems that there must be a cleaner way. Thanks Edited March 13, 2011 by AutoitMike Share this post Link to post Share on other sites
AutoBert 197 Posted March 15, 2011 (edited) Hi AutoItMike, this works to: #include <Word.au3> $WordApp = _WordAttach ("68997-MN.doc", "FileName") If Not @error Then _WordDocClose ($Doc) mfg autoBert Edited March 15, 2011 by AutoBert Share this post Link to post Share on other sites
AutoitMike 0 Posted March 21, 2011 Hi AutoItMike, this works to: #include <Word.au3> $WordApp = _WordAttach ("68997-MN.doc", "FileName") If Not @error Then _WordDocClose ($Doc) mfg autoBert This produces errors concerning $Doc. This variable has not been created. Share this post Link to post Share on other sites
water 2,409 Posted March 21, 2011 (edited) It should read: #include <word.au3> Global $oWordApp = _WordAttach("C:\temp\test.doc", "FilePath") Global $oDoc = _WordDocGetCollection($oWordApp, 0) _WordDocClose($oDoc) Edited March 21, 2011 by water My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2020-10-10 - Version 1.5.2.1) - Download - General Help & Support - Example Scripts - WikiOutlookEX (NEW 2020-12-15 - Version 1.6.3.1) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2020-06-27 - Version 1.3.2.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsPowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & SupportExcel - Example Scripts - WikiWord - WikiTask Scheduler (2019-12-03 - Version 1.5.1.0) - Download - General Help & Support - WikiTutorials:ADO - Wiki, WebDriver - Wiki Share this post Link to post Share on other sites