【问题标题】:Excel Automation Using Pyautogui使用 Pyautogui 实现 Excel 自动化
【发布时间】:2021-09-28 01:45:42
【问题描述】:

我有一个需要刷新 4000 个 excel 文件的 excel 插件。刷新的快捷键是“Alt + s + r + a”。我想运行一个循环,在其中打开 excel 文件,使用快捷方式执行刷新,然后保存 excel 文件。这是我的一个 excel 文件的代码:

import pyautogui
import openpyxl

wb = openpyxl.load_workbook("C:/file.xlsx")
ws = wb['Sheet1']
pyautogui.hotkey('alt', 's', 'r', 'a')
wb.save("C:/file.xlsx")

但是,这只是打开并保存 Excel 文件而不刷新它。对此的任何帮助将不胜感激!

【问题讨论】:

  • 什么是 S('alt'、's'、'r'、'a')? S 在我的电子表格中不可用。你能指点我的菜单栏吗?
  • 它是一个用于事实集的 excel 插件:
  • 我试图截取一张图片,但它不起作用。它是 Excel 中 FactSet 加载项的快捷方式
  • 嘿,这些快捷键只有在打开 excel 工作表时才有效。
  • 有没有办法用python打开,执行快捷方式,然后保存?

标签: python excel pyautogui hotkeys


【解决方案1】:

我用win32com打开excel,把它拉到最上面,开始一个一个按按钮,有1秒的延迟,然后保存并关闭它。

import time
import pyautogui
import win32com.client
from win32gui import SetForegroundWindow
xl = win32com.client.DispatchEx("Excel.Application")
wb = xl.workbooks.open("C:/file.xlsx")
xl.Visible = True
SetForegroundWindow(xl.hwnd)
time.sleep(3)
pyautogui.typewrite(['alt', 's', 'r', 'a'], interval=1)
time.sleep(3)
wb.Close(SaveChanges=1)
xl.Quit()

【讨论】:

    猜你喜欢
    • 2016-10-10
    • 2020-01-09
    • 2017-11-29
    • 1970-01-01
    • 2019-05-19
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    相关资源
    最近更新 更多