PyAutoGUI:如何在Excel中进行shift-select?

2024-10-02 08:27:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用PyAutoGUI(python3.7 64位)将Excel中的一列单元格从一个工作表复制到另一个工作表。在

代码是:

import pyautogui as gui
gui.PAUSE = 1
gui.FAILSAFE = True
gui.keyDown('shift')
gui.typewrite(['down']*67)
gui.keyUp('shift')
gui.keyDown('ctrl')
gui.press('c')
gui.keyUp('ctrl')

按住shift键,单击向下箭头67次以选择所需单元格,然后释放shift键。在此之后,文本将被复制到剪贴板。在

运行时(预先选择顶部单元格),每个步骤的延迟都很明显,但就好像shift没有按下一样。选定的单元格移到底部,但上一个单元格未被选中。在底部,最后一个单元格被复制。在

似乎“ctrl”在工作,“shift”却不起作用。如果我在运行keyUp on shift之前停止,当程序结束时,我的计算机就好像shift正在被帮助降下,直到我再次按下键为止。我也尝试过使用shiftright,以防这是个问题,但没什么区别。有许多PyAutoGUI函数在这些函数之前运行,但是没有一个函数与这些键的状态有关。在

我也一直在寻找不使用shift来选择这些单元格的替代方法,但是没有找到任何结果。在

有人对此有什么建议吗?在


Tags: 函数代码importtrueshiftasguiexcel
1条回答
网友
1楼 · 发布于 2024-10-02 08:27:47

有同样的问题。不确定这是否是一个很好的答案,但我想我只需创建一个excel宏,然后通过pyautogui运行它。在

宏:

Sub Select()
'
' Select Macro
'

'
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
End Sub

相关问题 更多 >

    热门问题