[python-win32] Python COM and Photoshop

Sam The Cat sam_spam_cat at verizon.net
Tue May 1 03:43:02 CEST 2007


Help !

I am writing some COM code in Python to control photoshop.  Several
functions of PS require an "Array" argument.  In the  examples of VBscript
or javascript the Array type is used.  I have tried what would appear to  be
the equivalent in Python -- Lists and Tuples -- but to no avail. Anyone have
any insight  on what via the COM interface is equivalent to an Array in
javascript ?

 Here is the Javascript example code

 .....
 selRegion  = Array(Array(1,1),Array(1,2),Array(2,2),Array(2,1))
 Doc.Selection.Select(selRegion,1,0,0)
 .....

 Here is my interpretation in Python

 .......
 selregion = [(1,1),(1,2),(2,2),(2,1)]
 print selregion
 doc.Selection.Select(selregion,1,0,0)
 ......

 Here is the error code generated

 ..........
 F:\automation>test2.py
 [(1, 1), (1, 2), (2, 2), (2, 1)]
 Traceback (most recent call last):
   File "F:\automation\test2.py", line 19, in ?
     doc.Selection.Select(selregion,1,0,0)
   File "<COMObject <unknown>>", line 3, in Select
 pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, 'Adobe
 Photoshop', 'Illegal argument - argument 1\n- Only arrays
 with dimension 1
 are supported', None, 0, -2147220262), None)


 ............

I have tried many differnet permutations of structure for the selregion
variable.  Any scalar or single dimension array returns an "Illegal
Argument" response with no further details -- any thing that resembles a two
dimensional array returns the result above.

Any help / thoughts would be appreciated





More information about the Python-win32 mailing list