【问题标题】:AHK for coding snippets with hotstringsAHK 用于使用热字串编码片段
【发布时间】:2019-04-12 20:47:05
【问题描述】:

所以我想使用 AHK 来创建通用 sn-ps,因为我在几个不同的程序中编写代码,但我想知道是否有一种简单的方法可以包含变量点或跳转到变量。这就是我现在拥有的:

::shh::var sh = SpreadsheetApp.getActiveSpreadsheet();`nvar ss = sh.getSheetByName("name");`nvar data = ss.getDataRange().getValues();

创造

sh = SpreadsheetApp.getActiveSpreadsheet();
var ss = sh.getSheetByName("name");
var data = ss.getDataRange().getValues();

但是,如果我想要一种将光标跳转到粘贴字符串的“name”部分的好方法怎么办?这似乎是其他人已经解决的问题,但我不想要整个 sn-ps 程序,只是模仿强大编辑器的 {variable} 或 ^variable 功能的最简单方法。

然后按返回箭头 x 次的解决方案?看起来很笨重。

要开始一个循环,在其中粘贴 sn-p 的第一部分,等待一个空格,然后粘贴第二部分?

我没有想到的其他输入想法?我宁愿不使用 ui 的东西,但这可能是前进的道路

【问题讨论】:

    标签: autohotkey


    【解决方案1】:

    所以我希望轻松避免 ui 输入的希望似乎落空了,但我会克服它。

    在大多数情况下,我使用这样的输入框:

    :*:arr]:: ; snippet for setting an array to the sheet
    {
        InputBox, arrayName,Array GAS Snippet, Array name?,,,,0,300
        clipboard = 
            (
            ss.getRange(row+3, 1,%arrayName%.length, %arrayName%[0].length).setValues(%arrayName%);
            )
        send ^v
        return
    }
    

    我也只有一个按照我最初的预期工作,发送脚本的第一部分,等待我输入然后按“控制”,然后发送其余部分,但变量的使用感觉更强大.

    如果有人好奇的话,这就是它的样子:

    :*:sh]:: ; snippet that sends the spreadsheet app thingies
    {
    clipboard = 
    (
    var sh = SpreadsheetApp.getActiveSpreadsheet();`r`nvar ss = sh.getSheetByName("
    )
    send ^v
    sleep, 2000
    
    KeyWait Control, D
    clipboard = 
    (
    ");`r`nvar data = ss.getDataRange().getValues();
    )
    send ^v
    return
    }
    

    【讨论】:

    • 如果您使用Input 命令而不是 InputBox,您会避开输入窗口。 Input不比InputBox好或差,只是不同,最终结果是一样的。使用 Input,您会“感觉”您的流程不会被打断,但缺点是您实际上并没有看到您输入的内容。
    猜你喜欢
    • 1970-01-01
    • 2018-10-10
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    • 2019-10-07
    相关资源
    最近更新 更多