有没有办法录制宏来执行我通常在 Windows 资源管理器中执行的操作?例如以只读方式打开 Excel 文件?

有没有办法录制宏来执行我通常在 Windows 资源管理器中执行的操作?例如以只读方式打开 Excel 文件?

每天我会无数次进入 Windows 资源管理器,按住 Shift 键并右键单击 Excel 文件,复制为路径,然后进入运行,键入Excel /r(粘贴),这样就会以只读方式打开我的 Excel 文件。

有没有办法将所有这些(以及类似的日常任务)记录在宏中,以便我可以通过这种方式轻松打开这些文件?例如,Shift-Enter 将文件作为 Excel 只读文件打开,如上面的机制一样?

与……略有关系如何从 Windows 资源管理器以只读方式打开文件?

答案1

自动热键绝对是这里的最佳选择。

但是,只要您按住 Shift 键并单击鼠标右键,为什么不直接以只读方式打开呢? 在此处输入图片描述

编辑:如下所示,它不起作用(?!?)。

回到我最初的建议。Autohotkey 可以使用 ScriptWriter 模块记录您执行此操作的过程,然后您可以对其进行调整。您最终可能会得到类似以下内容的结果:

IfWinActive, ahk_class XLMAIN ^B:: ; hotkey is CTRL + B but can be changed to anything ExcelFileName := "C:\path\to\file.xlsx" ; this needs to be replaced with a variable Send, {LWINDOWN}r{LWINUP} ;opens Run WinWaitActive, Run, Send, excel{SPACE}/r{SPACE}ExcelFileName{Enter}

如果您告诉我更多关于您的文件存储方式的信息(任何命名约定?等等),我可以帮助您将路径放入热键中。如果没有这些,我只能在您想要的 Excel 文件中想出一个讨厌的 VBA -> AHK 组合,例如

Sub GetPath() Dim CompletePath As String CompletePath = ActiveWorkbook.FullName MsgBox CompletePath End Sub

然后您可以将其转储到 AHK 脚本中ExcelFileName

编辑2: 我认为突出显示所需的 Excel 文件Send {Ctrl Down}c{Ctrl Up}将复制该文件小路放入剪贴板,然后您可以将其作为传递ExcelFileName := %clipboard%

试试这个。突出显示您的文件并按 CTRL + B。

^B:: ; hotkey is CTRL + B but can be changed to anything Send {Ctrl Down}c{Ctrl Up} ; copies path to Clipboard (unverified) ExcelFileName := %clipboard% ; plaintext Send, {LWINDOWN}r{LWINUP} ; opens Run WinWaitActive, Run, Send, excel{SPACE}/r{SPACE}ExcelFileName{Enter}

相关内容