help with COM and Excel
Eric Hagemann
ehagemann at home.com
Sun May 14 10:36:54 EDT 2000
Christian,
Many Thanks ! It make a bit more sense now
Cheers
eric
"Christian Tismer" <tismer at tismer.com> wrote in message
news:391EB172.10E13B22 at tismer.com...
>
>
> Eric Hagemann wrote:
> >
> > Anybody done much with Excel and COM?
> >
> > I am trying to get some COM stuff working -- specifically to generate a
> > chart
> >
> > I have been able to open excel, create a workbook and push data into it.
> > Further I can create a charts but now I am stuck on how to add data to
the
> > chart.
> >
> > I know I need to add a 'SeriesCollection' Object but when I try
> >
> > .....chart.SeriesCollection.Add
> >
> > I get an 'attribute error'. In this context SeriesCollection referes to
a
> > function to select _which_ series collection you want (As far as I can
tell)
> > and not an object (which is what I need to attach data to). I can find
the
> > SeriesCollection Object initself and indeed it has an Add method. But I
> > cannot seem to get to or add the object to the Chart Object.
> >
> > Anybody tried this already ?
>
> No, but I just tried it for you:
>
> PythonWin 1.5.2 (#0, Apr 13 1999, 10:51:12) [MSC 32 bit (Intel)] on win32
> Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
> Portions Copyright 1994-2000 Mark Hammond (MHammond at skippinet.com.au)
> >>> import win32com.client
> >>> e=win32com.client.Dispatch("excel.application")
> >>> e.Visible = 1
> >>> b=e.Workbooks.Add()
> >>> c=e.Charts.Add()
> >>> c
> <win32com.gen_py.Microsoft Excel 9.0 Object Library._Chart>
> >>> e.ActiveChart
> <win32com.gen_py.Microsoft Excel 9.0 Object Library.Chart>
> >>> e.ActiveSheet
> <win32com.gen_py.Microsoft Excel 9.0 Object Library._Chart>
> >>> e.Sheets(2)
> <win32com.gen_py.Microsoft Excel 9.0 Object Library._Worksheet>
> >>> e.Worksheets
> <win32com.gen_py.Microsoft Excel 9.0 Object Library.Sheets>
> >>> e.Worksheets(1)
> <win32com.gen_py.Microsoft Excel 9.0 Object Library._Worksheet>
> >>> e.Worksheets(1).Range("a1","b3")
> <win32com.gen_py.Microsoft Excel 9.0 Object Library.Range>
> >>> c.SeriesCollection().Add(Source=e.Worksheets(1).Range("a1","b3"))
> <win32com.gen_py.Microsoft Excel 9.0 Object Library.Series>
> >>>
>
> The problem seems to be how you obtain your chart variable.
> e.ActiveChart yields just a coclass, while via ActiveSheet
> I get at the real _Chart thing.
>
> Well, and c.SeriesCollection is a method of a chart instance,
> so it must be called, and then it has an Add method.
>
> hope this helps - ciao - chris
>
> --
> Christian Tismer :^) <mailto:tismer at appliedbiometrics.com>
> Applied Biometrics GmbH : Have a break! Take a ride on Python's
> Kaunstr. 26 : *Starship* http://starship.python.net
> 14163 Berlin : PGP key -> http://wwwkeys.pgp.net
> PGP Fingerprint E182 71C7 1A9D 66E9 9D15 D3CC D4D7 93E2 1FAE F6DF
> where do you want to jump today? http://www.stackless.com
>
More information about the Python-list
mailing list