T O P I C R E V I E W |
nk.S |
Posted - 11/17/2024 : 4:03:55 PM Origin Ver. and Service Release (Select Help-->About Origin): origin2023 Operating System: windows, pycharm
Hi, I really need your help. I would greatly appreciate any advice you can give.
I am trying to sequentially open multiple Origin OLE objects embedded in a PowerPoint slide and automatically update the worksheets originally inside each object, but I am facing an issue.
When multiple OLE objects are open, op.find_sheet only calls the first opened OLE object, so I cannot update the next one. I tried using op.utils.exit to close the first OLE object and then reconnect the application with op.attach() to update the next OLE object, but I am unable to establish the connection to the application.
The approximate code is as follows:
import os import win32com.client import originpro as op
powerpoint = win32com.client.Dispatch("PowerPoint.Application") powerpoint.Visible = True
origin = win32com.client.Dispatch("Origin.ApplicationSI") origin.Visible = True
for slide_index, slide in enumerate(presentation.Slides)
for shape_index, shape in enumerate(slide.Shapes): ole_name = shape.Name if "origin" in ole_name.lower(): shape.OLEFormat.DoVerb(1) wks = op.find_sheet('w', 0) wks.from_df(data) shape.OLEFormat.DoVerb(0) op.detatch() op.utils.exit() op.attach() presentation.Save() presentation.Close() powerpoint.Quit() op.exit()
sng |
|
|