Wenn mehrere OLE -Objekte geöffnet sind, ruft op.find_sheet (Origin -Funktion) nur das erste geöffnete OLE -Objekt auf, sodass ich die nächste nicht aktualisieren kann. Also habe ich versucht, Op.exit oder doverb (0) zu schließen, um das erste OLE -Objekt zu schließen und die Anwendung dann mit Op.attach (Ursprungsfunktion) zu verbinden, um das nächste OLE -Objekt zu aktualisieren. Aber ich kann die Wiederverbindung mit der Ursprungsanwendung nicht festlegen. < /p>
Der ungefähre Code ist wie folgt: < /p>
Code: Select all
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()
< /code>
Ich kann die OLE -Objekte erfolgreich durchführen und öffnen, aber nach dem Schließen des fertigen Olen -Objekts tritt ein Fehler auf, wenn versucht wird, sich mit dem Ursprung wieder zu verbinden. < /p>
Zusätzlich habe ich versucht, Time.sleep