Word UDF: Difference between revisions

From AutoIt Wiki
Jump to navigation Jump to search
Line 24: Line 24:
Example code:<syntaxhighlight lang="autoit">
Example code:<syntaxhighlight lang="autoit">
Global $oWord = _Word_Create()  
Global $oWord = _Word_Create()  
Global $oDoc =  
Global $oDoc = _Word_DocOpen($oWord, @ScriptDir & "\test.doc")
Global $wdPropertyAuthor = 3  
Global $wdPropertyAuthor = 3  
Global $sAuthor = $oDoc.BuiltInDocumentProperties($wdPropertyAuthor).Value
Global $sAuthor = $oDoc.BuiltInDocumentProperties($wdPropertyAuthor).Value

Revision as of 16:59, 1 January 2014

This page is still a work in progress.

The Word UDF offers functions to control and manipulate Microsoft Word documents.

Script breaking changes after AutoIt version 3.3.8.1

New versions of Microsoft Office have been released since the last changes were made to the Word UDF. New file types and new functions needed to be supported, hence the UDF was complete rewritten.

Some functions/parameters have been removed or renamed, new functions/parameters have been added. A detailed list of changes can be found here.

General

All function names have been changed from _Word* to _Word_*.

@extended no longer contains the number of the invalid parameter. The code returned in @error tells exactly what went wrong.

The following list shows the old/new function/parameter name (a "-" is shown if the function/parameter has been removed) and some example scripts how to mimic the behaviour of the "old" UDF. If there is no entry for a removed function/parameter then there is no need for this functionality.

Function _WordCreate/_Word_Create

It's mandatory now to call function _Word_Create. You could use _WordCreate or _WordAttach in the old Word UDF. @extended is set if Word was already running.

Function _WordDocPropertyGet/-

Retrieves document builtin properties.

Word object model reference on MSDN for Word 2010:

Example code:

Global $oWord = _Word_Create() 
Global $oDoc = _Word_DocOpen($oWord, @ScriptDir & "\test.doc") 
Global $wdPropertyAuthor = 3 
Global $sAuthor = $oDoc.BuiltInDocumentProperties($wdPropertyAuthor).Value

Parameter xx

Function _WordDocPropertySet/-

Function _WordMacroRun/-

A macro can now be run by a single line:

Global $oWord = _Word_Create() 
Global $oDoc = _Word_DocOpen($oWord, @ScriptDir & "\test.doc") 
$oWord.Run("macro_name")

Function _WordPropertyGet/-

Retrieves application and document properties. Many of the properties for the Options object correspond to items in the Options dialog box.

Word object model reference on MSDN for Word 2010:

Example code:

Global $oWord = _Word_Create() 
$bVisible = $oWord.Visible ; Returns True when the Word application is visible, else False
$bUpdatePrint = $oWord.Options.UpdateFieldsAtPrint ; True if Microsoft Word updates fields automatically before printing a document.

Function _WordPropertySet/-

Sets application and document properties. Many of the properties for the Options object correspond to items in the Options dialog box.

For links to the Word object model reference on MSDN see function _WordPropertyGet.

Example code:

Global $oWord = _Word_Create() 
$bVisible = $oWord.Options.SaveInterval = 5 ; Sets Word to save AutoRecover information for all open documents every five minutes