跳转到 google 电子表格宏中的特定单元格
Jump to specific cell in google spreadsheets macro
我知道 f5 可以打开跳转到单元格对话框,它的问题是,虽然它允许您执行一次,但下次您按 f5 时,跳转到另一个特定的单元格,前面的文字没有突出显示,因此您需要将手从键盘上移开,然后 select 使用鼠标。
如果我有办法让我的手不离开键盘,那将极大地加快我的工作流程。
有什么想法吗?
例如,我需要一个宏来弹出转到范围对话框,并且 select 那里有任何文本,这样我就可以输入一个新的单元格范围(例如:a391)
谢谢!
Google 电子表格中的键盘快捷键相当糟糕。如果您在 Windows,我建议您尝试 Autohotkey。它可以将光标移动到屏幕上的任何坐标(坐标可以设置相对当前window)。例如 'Win+F5' 可以作为 F5 + 将光标移动到屏幕的右上角并执行左键单击。
有一种简单的方法可以将自定义宏添加到表格中。您只需要预先创建一个 bounded script,其中包含一个 function
和您想要的操作。那么您可以按照以下步骤操作:
- 转到
Tools > Macros > Import
- 找到您的函数并单击
Add Function
,然后单击 X
关闭。
- 转到
Tools > Macros > Manage Macros
- 为您的宏分配一个数字,然后单击
Update
- 运行 您的宏使用
Ctrl + Alt + Shift + {NUMBER}
按照这些步骤,您将毫无困难地创建自定义宏,但如有任何疑问,请随时问我。
解决 MacOS(High Sierra,它可能也适用于较新的 os)
我从这里下载了文件 AppleScript Toolbox.osax
:https://astoolbox.wordpress.com/
将文件放入文件夹:/Users/me/Library/ScriptingAdditions
运行 Automator
并启动新服务:
粘贴此脚本
activate application "Firefox" -- or "Safari" or "Chrome", etc
set mousePointLocation1 to {1700, 250} -- coordinates depend on your screen size
AST click at mousePointLocation1 number of clicks 1
并保存:
转到 Preferences
> Keyboard
> Services
并为此服务添加快捷方式
之后您将在此处看到新的快捷方式:
在 Google 电子表格中,我按 F5
以显示面板,然后我按 ^F5
并且光标跳到此面板并单击。
我是 macOS 的新手,我相信它可以做得更好。这就是我现在设法做到的。
脚本的另一个修改可能更方便:
activate application "Firefox"
tell application "System Events"
key code 96 -- this is F5 key
end tell
delay .5
AST click at {1700, 250} number of clicks 2 -- or 3 maybe
这样你就不需要按F5
了。只需按 ^F5
继续。
有效
以防万一。如果你知道 Python。我已经设法按下 F5
移动并使用 Python 模块单击鼠标 pynput
:
from pynput import mouse, keyboard
k = keyboard.Controller()
k.press(keyboard.Key.f5)
k.release(keyboard.Key.f5)
m = mouse.Controller()
m.position = (1700, 240)
m.press(mouse.Button.left)
m.release(mouse.Button.left)
m.click(mouse.Button.left, 2)
https://pynput.readthedocs.io/en/latest/
可以这样转换成macOS Service:
然后您可以通过 Keyboard
> Services
> Add Shortcut
以相同的方式 运行 此服务
我刚刚找到了另一个更明显的原生解决方案。
将代码放入脚本编辑器:
function jump() {
var range = SpreadsheetApp.getUi().prompt('Input cell').getResponseText();
SpreadsheetApp.getActiveSheet().getRange(range).activate();
}
保存并添加函数作为宏:
然后为宏分配一些快捷方式:
之后可以按快捷键(CmdOptionShift5 在我的例子中),输入单元格地址,按 Tab 和 Enter 然后我们开始。
我知道 f5 可以打开跳转到单元格对话框,它的问题是,虽然它允许您执行一次,但下次您按 f5 时,跳转到另一个特定的单元格,前面的文字没有突出显示,因此您需要将手从键盘上移开,然后 select 使用鼠标。
如果我有办法让我的手不离开键盘,那将极大地加快我的工作流程。
有什么想法吗?
例如,我需要一个宏来弹出转到范围对话框,并且 select 那里有任何文本,这样我就可以输入一个新的单元格范围(例如:a391)
谢谢!
Google 电子表格中的键盘快捷键相当糟糕。如果您在 Windows,我建议您尝试 Autohotkey。它可以将光标移动到屏幕上的任何坐标(坐标可以设置相对当前window)。例如 'Win+F5' 可以作为 F5 + 将光标移动到屏幕的右上角并执行左键单击。
有一种简单的方法可以将自定义宏添加到表格中。您只需要预先创建一个 bounded script,其中包含一个 function
和您想要的操作。那么您可以按照以下步骤操作:
- 转到
Tools > Macros > Import
- 找到您的函数并单击
Add Function
,然后单击X
关闭。 - 转到
Tools > Macros > Manage Macros
- 为您的宏分配一个数字,然后单击
Update
- 运行 您的宏使用
Ctrl + Alt + Shift + {NUMBER}
按照这些步骤,您将毫无困难地创建自定义宏,但如有任何疑问,请随时问我。
解决 MacOS(High Sierra,它可能也适用于较新的 os)
我从这里下载了文件 AppleScript Toolbox.osax
:https://astoolbox.wordpress.com/
将文件放入文件夹:/Users/me/Library/ScriptingAdditions
运行 Automator
并启动新服务:
粘贴此脚本
activate application "Firefox" -- or "Safari" or "Chrome", etc
set mousePointLocation1 to {1700, 250} -- coordinates depend on your screen size
AST click at mousePointLocation1 number of clicks 1
并保存:
转到 Preferences
> Keyboard
> Services
并为此服务添加快捷方式
之后您将在此处看到新的快捷方式:
在 Google 电子表格中,我按 F5
以显示面板,然后我按 ^F5
并且光标跳到此面板并单击。
我是 macOS 的新手,我相信它可以做得更好。这就是我现在设法做到的。
脚本的另一个修改可能更方便:
activate application "Firefox"
tell application "System Events"
key code 96 -- this is F5 key
end tell
delay .5
AST click at {1700, 250} number of clicks 2 -- or 3 maybe
这样你就不需要按F5
了。只需按 ^F5
继续。
有效
以防万一。如果你知道 Python。我已经设法按下 F5
移动并使用 Python 模块单击鼠标 pynput
:
from pynput import mouse, keyboard
k = keyboard.Controller()
k.press(keyboard.Key.f5)
k.release(keyboard.Key.f5)
m = mouse.Controller()
m.position = (1700, 240)
m.press(mouse.Button.left)
m.release(mouse.Button.left)
m.click(mouse.Button.left, 2)
https://pynput.readthedocs.io/en/latest/
可以这样转换成macOS Service:
然后您可以通过 Keyboard
> Services
> Add Shortcut
我刚刚找到了另一个更明显的原生解决方案。
将代码放入脚本编辑器:
function jump() {
var range = SpreadsheetApp.getUi().prompt('Input cell').getResponseText();
SpreadsheetApp.getActiveSheet().getRange(range).activate();
}
保存并添加函数作为宏:
然后为宏分配一些快捷方式:
之后可以按快捷键(CmdOptionShift5 在我的例子中),输入单元格地址,按 Tab 和 Enter 然后我们开始。