win32com ppt embedded object - SOLVED
Lance Hoffmeyer
lance at augustmail.com
Wed Jul 11 17:14:42 EDT 2007
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
>
>
More information about the Python-list
mailing list