[IronPython] Word Automation

kbond kbond at free.fr
Sun Jun 19 20:13:17 CEST 2005


Hello,

Congratulation, for this new release correcting some bugs around the
"PIA ComObject Operations".
I spent the last hours playing around with this great feature of ironpython and  I would like to share with you a couple
of things.
Some are working fine some seems strange to me but it
might be because I am missing something and some that are not working.



Scenario 1

IronPython 0.7.6 on .NET 2.0.50215.44
Copyright (c) Microsoft Corporation. All rights reserved.

>>>>>> import sys
>>>>>> sys.LoadAssemblyByName("Microsoft.Office.Interop.Word")
>>>>>> import Microsoft.Office.Interop.Word as wordApp
>>>>>> mApp= wordApp.ApplicationClass()
>>>>>> mApp.visible
>>>      
>>>
False

>>>>>> mApp.visible = True
>>>>>> mApp.Documents.Open("c:\tmp\Doc1.doc")
>>>      
>>>
System.Runtime.InteropServices.COMException: The document name or path is not va
lid.
Try one or more of the following:
* Check the path to make sure it was typed correctly.
 (c:    mp\Doc1.doc)click Open. Search for the file using this dialog box.
   at input_6.Run(Frame frame)

>>>>>>
>>>      
>>>
####### I do not undertstand why this is not working however a
slightly modified  statement is working well##########


>>>>>> doc1 = mApp.Documents.Open(r'c:\tmp\Doc1.doc')
>>>>>> doc1.Save()
>>>>>> doc1.Close()
>>>      
>>>


Scenario 2

>>>>>> doc1 = mApp.Documents.Open(r'c:\tmp\Doc1.doc')
>>>>>> doc2 = mApp.Documents.Add()
>>>>>> doc2.SaveAs(r"c:\tmp\Doc2.doc")
>>>>>> for i in mApp.Documents:
>>>      
>>>
...     print i.Name
...
System.Runtime.InteropServices.COMException: Unknown name. (Exception from HRESU
LT: 0x80020006 (DISP_E_UNKNOWNNAME))
   at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr,
Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[]
namedParameters)
   at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Bi
nder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers
, CultureInfo culture, String[] namedParams)
   at input_24.Run(Frame frame)

###### I do not understand why I cannot iterate in the collection of
Documents######
###### May be this is not supposed to work but it would be amazingly
efficient########


>>>>>> mApp.Documents("Doc1.doc").Activate()
>>>      
>>>
System.Runtime.InteropServices.COMException: Unknown name. (Exception from HRESU
LT: 0x80020006 (DISP_E_UNKNOWNNAME))
   at System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr,
Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[]
namedParameters)
   at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Bi
nder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers
, CultureInfo culture, String[] namedParams)
   at input_29.Run(Frame frame)

##### Another problem when working with a collection of documents #####
##### I cannot select a given document using its Name #####

Scenario 3
##### I would like to translate the following vb statement in python######
#vb#### Documents.Open FileName:="C:\Files\Doc.doc", ReadOnly:=True####
>>> doc3 = mApp.Documents.Open(FileName='c:\tmp\Doc1.doc', ReadOnly= True)

System.Exception: this object is not callable with keyword parameters
   at input_32.Run(Frame frame)

#### Obviously, my guess was wrong but I do not have any idea on how
to do such thing any advise would be more than welcome######


Could you please help me to positionned win32com and IronPython?
Would it be possible to do the same things with IronPython than with win32com?
Thank you very much for your answers, I hope that will help you .....

Regards





More information about the Ironpython-users mailing list