每天我会无数次进入 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}