[IronPython] Word Automation

Tim Riley riltim at gmail.com
Sun Jun 19 21:33:10 CEST 2005


<snip>
> >>>>>> 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)
</snip>

You need to escape the backslashes. Should have been
"c:\\tmp\\Doc1.doc". Also \t translate to a tab which is shown in the
error.

Tim Riley

On 6/19/05, kbond <kbond at free.fr> wrote:
> 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
> 
> 
> _______________________________________________
> users-ironpython.com mailing list
> users-ironpython.com at lists.ironpython.com
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>



More information about the Ironpython-users mailing list