AutoitMike Posted March 13, 2011 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
Moderators Melba23 Posted March 13, 2011 Moderators 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
AutoitMike Posted March 13, 2011 Author 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
AutoitMike Posted March 13, 2011 Author 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
AutoBert Posted March 15, 2011 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
AutoitMike Posted March 21, 2011 Author 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.
water Posted March 21, 2011 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 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now