Hi, I've been looking for a solution to this question for some time now. 
Hopefully you could help me out. There's a program (Golden Software Surfer) 
that I have successfully automated using Python COM. I normally am able to 
control every portion I need. The part I have trouble accessing is under its 
"Property Manager". Even though I am using the description provided in the 
software's documents & help files I get an error saying:
AttributeError: '<win32com.gen_py.Surfer 13 Type Library.IShape instance at 
0x2327715907232>' object has no attribute 'ShowColorScale'
"ShowColorScale" is just an example of one property/method in the Property 
Manager window.
Here is the example code I have been working with:
import win32com.client

srf = win32com.client.gencache.EnsureDispatch('Surfer.Application')
Plot = srf.Documents.Add(1)
srf.Visible = True
MapFrame1 = Plot.Shapes.AddImageMap(GridFileName="C:/test.grd")
ImageLayer1 = MapFrame1.Overlays(1)
ImageLayer1.ShowColorScale = True  # this is where i get the error
The full error message:KeyError                                  Traceback 
(most recent call last)
C:\Program Files\Anaconda3\lib\site-packages\win32com\client\__init__.py in 
__setattr__(self, attr, value)
    470                 try:
--> 471                         args, defArgs=self._prop_map_put_[attr]
    472                 except KeyError:

KeyError: 'ShowColorScale'

During handling of the above exception, another exception occurred:

AttributeError                            Traceback (most recent call last)
<ipython-input-7-8ef841af10d0> in <module>()
----> 1 ImageLayer1.ShowColorScale = True # test

C:\Program Files\Anaconda3\lib\site-packages\win32com\client\__init__.py in 
__setattr__(self, attr, value)
    471                         args, defArgs=self._prop_map_put_[attr]
    472                 except KeyError:
--> 473                         raise AttributeError("'%s' object has no 
attribute '%s'" % (repr(self), attr))
    474                 self._oleobj_.Invoke(*(args + (value,) + defArgs))
    475         def _get_good_single_object_(self, obj, obUserName=None, 
resultCLSID=None):

AttributeError: '<win32com.gen_py.Surfer 13 Type Library.IShape instance at 
0x2327715907232>' object has no attribute 'ShowColorScale'

After searching on the net I found this question, asked here 10 years 
ago:[python-win32] COM automation: problem accessing property of derived object 
obtained from collection « python-win32 « ActiveState List Archives

| 
| 
| 
|  |  |

 |

 |
| 
|  | 
[python-win32] COM automation: problem accessing property of derived obj...


 |

 |

 |



It's almost identical to my issue. The author mentions that he found a solution 
on his latest post too. But doesn't post the solution itself. Just something 
regarding CastTo and then gives two links for reference. (Tried to search and 
understand CastTo without any success, couldn't understand how to implement it 
to the code above.)

I'm new to programming & Python.. especially to COM. I would really appreciate 
it if some one could help me solve this.

[Python3.6, Surfer13]
_______________________________________________
python-win32 mailing list
python-win32@python.org
https://mail.python.org/mailman/listinfo/python-win32

Reply via email to