[问题] 如何将目前已开启Excel档另存新档

楼主: kmx (星野残红)   2022-02-06 16:02:25
各位好,小弟初学python
目的是想要把公司ERP内的周期性报表,自动转出excel档,目前是
用很简陋的pyaotugui控制鼠标、键盘的功能,取代鼠标点点点的
重复性工作
目前弄到把ERP内资料转出EXCEL并开启后,想要另存到指定
的资料夹和指定档名,想要用openpyxl之类的指令,把ERP转出
完自动开启的EXCEL档另存
但发现好像openpyxl都无法操作已开启的excel?
看了大部分的教学,都是操作现存的excel、或是已经有的excel
没有教"已开启中"的excel如何操作(我也只需要可另存新档)
看到好像有人说xlwings,但我研究了一下也不太清楚
想请问版上各位有无解决方式
目前另存新档还是用控制鼠标、键盘的方式点点点,有时会失效
作者: s0914714 (YA)   2022-02-06 17:01:00
win32 不然就是关档->开档->另存新档
作者: ese953130 (ese953130)   2022-02-06 18:41:00
xlwing 的作法bk=xw.books[“档名”](已开启档案才可以用不然会报错) bk.save(“要储存的路径/档名”)
作者: s0914714 (YA)   2022-02-06 20:19:00
传送另存新档热键的键盘讯息给窗口也行
作者: woogee (woogee)   2022-02-09 17:04:00
先pip install pywin32import win32com.clienttry:excel = win32com.client.GetActiveObject("Excel.Application")excel.Application.ActiveWorkbook.SaveAs("D:\\b.xlsx")excel.Application.Quit()except:...这样可以直接控制已开启的Excel去另存新档到D槽存为b.xlsx
作者: crm123 (CRM)   2022-02-10 15:48:00
import xlwings as xwWa = xw.books.activeIf wa.name =‘Book1’ :wa.save(file_path)app = xw.apps.activeapp.kills()
作者: lambo (Lambo)   2022-02-13 22:47:00
你都用pyaotugui 何不直接开启Excel档然后ctrl+s?如果另存新档会失效,不然就先点工作列让视窗保持focus?

Links booklink

Contact Us: admin [ a t ] ucptt.com