[python-win32] Python COM and Photoshop

Francesco Guerrieri f.guerrieri at gmail.com
Tue May 1 12:43:31 CEST 2007


I am a complete beginner myself with python and win so surely there are
better ways of doing this. In any case,  here's my try.
You could try to go in the reverse manner: instead of trying to guess the
right way from python to VB, define an Array object in VB and pass it to
python,  dispatch it if needed, and  look at how it is formed. In this way
you will find out precisely how the array object is formed.

francesco

On 5/1/07, Sam The Cat <sam_spam_cat at verizon.net> wrote:
>
> 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
>
>
>
> _______________________________________________
> Python-win32 mailing list
> Python-win32 at python.org
> http://mail.python.org/mailman/listinfo/python-win32
>



-- 
"Voilà! In view, a humble vaudevillian veteran, cast vicariously as both
victim and villain by the vicissitudes of fate. This visage, no mere veneer
of vanity, is a vestige of the vox populi, now vacant, vanished. However,
this valorous visitation of a bygone vexation stands vivified, and has vowed
to vanquish these venal and virulent vermin vanguarding vice and vouchsafing
the violently vicious and voracious violation of volition. The only verdict
is vengeance; a vendetta held as a votive, not in vain, for the value and
veracity of such shall one day vindicate the vigilant and the virtuous.
Verily, this vichyssoise of verbiage veers most verbose vis-à-vis an
introduction, so let me simply add that it's my very good honor to meet you
and you may call me V." -- V's introduction to Evey
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/python-win32/attachments/20070501/4eab76d8/attachment.html 


More information about the Python-win32 mailing list