[python-win32] Fw: Python COM and Photoshop

Sam The Cat sam_spam_cat at verizon.net
Tue May 8 03:48:21 CEST 2007


I thought I'd try this again -- still no progress on my debugging.  From 
using Visual Basic it seems that the interface is expecting an array of type 
varint where each element of the array is another array.  The inner arrays 
are two elements long (an x and y data point)

I have also tried using the array module but I still get the same errors --  
basically anything that I try in Python results in a error indicating that 
only a 1-dimensional arrays are supported -- which seems weird since the 
vbasic code is not making a single dimensional array.

Any thoughts are appreciated



> 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