Basically,
   if I ran (after discovering what the object name I was trying to modify in 
the ppt slide was):

if WB.Slides(29).Shapes("Object 2").Type==7:
        PWB = WB.Slides(29).Shapes("Object 2")                         #Select 
the Graph Object 
        oGraph = PWB.OLEFormat.Object
        oGraph.Application.datasheet.Range("00").Value = "Fav"

this code worked.


When I ran this:

for shape in WB.Slides(29).Shapes:
        if (shape.Type== 7):
                print shape.Name
                PWB = WB.Slides(29).Shapes(shape)
                oGraph = PWB.OLEFormat.Object
                oGraph.Application.datasheet.Range("00").Value = "Fav"


I got an error.


I tried "print shape" I received

<win32com.gen_py.Microsoft PowerPoint 11.0 Object Library.Shape instance at 
0x17793112>


Putting in PWB = WB.Slides(29).Shapes(shape.Name) instead of PWB = 
WB.Slides(29).Shapes(shape)
allowed this to work.

Also, I discovered I was working with a MSGraph object and not an Excel 
spreadsheet object.

for shape in WB.Slides(29).Shapes:
        if (shape.Type== 7):
                print shape.Name
                PWB = WB.Slides(29).Shapes(shape.Name)
                oGraph = PWB.OLEFormat.Object
                oGraph.Application.datasheet.Range("00").Value = "Fav"

Lance






Lance Hoffmeyer wrote:
> Hey all,
> 
> I am trying to create some python code to edit embedded ppt slides and need 
> some help.
> 
> import win32com.client
> from win32com.client import constants
> import re
> import codecs,win32com.client
> import time
> import datetime
> import win32com.client.dynamic
> ######################################################
> ############ VARIOUS VARIABLES TO SET ################
> path = "C:\temp/"
> ######################################################
> ######################################################
> 
> 
> PPT=win32com.client.Dispatch("PowerPoint.Application")
> WB=PPT.Presentations.Open(path + "File.ppt")
> PPT.Visible=1
> PPTSLIDE= 29
> 
> for Z in WB.Slides(29).Shapes:
>       if (Z.Type== 7):
>               ZZ=Z.OLEFormat.Object
>               WSHEET = ZZ.Worksheets(1)
>               WSHEET.Range("A1").Value = .50
>               WSHEET.Range("A1").NumberFormat="0%"
> 
> Gives error:
> 
> Traceback (most recent call last):
>   File "P:\Burke\TRACKERS\Ortho-McNeil\04 2007, 04-10 WAVE 
> 4\Automation\Document1.py", line 23, in ?
>     WSHEET = ZZ.Worksheets(1)
>   File "C:\Program 
> Files\Python\lib\site-packages\win32com\client\dynamic.py", line 489, in 
> __getattr__
>     raise AttributeError, "%s.%s" % (self._username_, attr)
> AttributeError: <unknown>.Worksheets
> 
> Tool completed with exit code 1
> 
> 
> 
> Why is ZZ unknown and how to I correct this?
> 
> 
> 
> 
> Thanks in advance,
> 
> Lance
> 
> 
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to