Sign in to follow this  
Followers 0
AutoitMike

Word doc close

7 posts in this topic

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



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. :)

M23

P.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._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

#3 ·  Posted (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 by AutoitMike

Share this post


Link to post
Share on other sites

#4 ·  Posted (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 by AutoitMike

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

Hi AutoItMike,

this works to:

#include <Word.au3> 

$WordApp = _WordAttach ("68997-MN.doc", "FileName")
If Not @error Then _WordDocClose ($Doc)

mfg autoBert

Edited by AutoBert

Share this post


Link to post
Share on other sites

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

#7 ·  Posted (edited)

It should read:

#include <word.au3>
Global $oWordApp = _WordAttach("C:\temp\test.doc", "FilePath")
Global $oDoc = _WordDocGetCollection($oWordApp, 0)
_WordDocClose($oDoc)
Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2017-04-18 - Version 1.4.8.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2017-02-27 - Version 1.3.1.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2015-04-01 - Version 0.4.0.0) - Download - General Help & Support - Example Scripts
Excel - Example Scripts - Wiki
Word - Wiki
PowerPoint (2015-06-06 - Version 0.0.5.0) - Download - General Help & Support

Tutorials:
ADO - Wiki

 

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0