我正在尝试在后台为用户自动化ChemDraw,最好避免使用SendKeys(),因为我认为这需要一个ChemDraw实例可见才能正常工作。我需要做的是以某种方式以编程方式单击“编辑->复制为->英寸”,然后从Windows剪贴板检索结果。在
我们目前正在使用Python和COM脚本来尝试这一点。以下是我们当前的代码:# Opens ChemDraw and loads the file, while keeping the window hidden.
ChemDraw = w32.DispatchEx('ChemDraw.Application') # ChemDraw Application Object
ChemDraw.Visible = False # Makes Invisible
Compound= ChemDraw.Documents.Open(cdx_filepath) # ChemDraw File Object (Can be seen with ChemDraw.Activate())
# Selects the whole molecule.
Compound.Objects.Select()
# Here is where we need to figure out how to do CopyAs and Save off clipboard content.
# Saves the file and Quits afterwards.
Compound.SaveAs(jpg_filepath)
ChemDraw.Quit()
我想我有两个问题:如何访问工具栏中的“Edit”及其结果值?如何获取由“ChemDraw=w32.DispatchEx('化学绘图应用')“然后决定你能用它做什么?问题的一部分是,我们似乎无法反思产生的DispatchEx对象,因此我们很难回答自己的问题。在