[求推荐]支持变量替换功能的文本管理/剪贴板管理软件

平时在使用ClipDairy作为剪贴板管理功能,能非常方便的对固定内容进行管理。现在有了新的需求,对Excel公式进行管理,部分Excel公式很长,涉及到的变量较多,希望能有一款软件支持变量,方便的对公式中的变量进行替换。
例如:动态序号的公式
SUBTOTAL(3,$D$1:D2)-1
可以直接输入两个变量值替换掉$D$1及D2,当然能针对Excel的引用进行优化,根据公式形式自动锁定行列就更好了(比如我输入E1,E2;可以直接根据格式转换为SUBTOTAL(3,$E$1:E2)-1)。

这个举例比较简单,在实际应用场景会遇到很长的公式,包含的变量及其变形会更多。

这个也许可以?相关的功能我没用过,当初试用发现他连合并粘贴功能都没有就没用了

这个用autohotkey来处理会非常方便。
效果相当于excel函数。

一个简单的例子:

  1. 假设我要简化这个公式
    image

  2. 通过ahk自定义函数
    瞎几把(x1,x2) 等价于 SUM(x1:x2)*8+5+x1-x2

  3. 就像普通函数一样输入“=瞎几把(A1,A2)”,按下自定义快捷键,autohotkey自动把“瞎几把”函数给你转换回去。

自函数

  1. 要是忘了自定义函数有几个参数,各是什么意思,还可以一键调出提示,就像excel原生函数一般。

提示

ahk代码,快捷键是shift f2 和 shift f1

#SingleInstance Force
#IfWinActive ahk_exe EXCEL.EXE

+f2::
	{
    clipboard:=""
		Send ^a
		Send ^c
    ClipWait,2
    RegExMatch(clipboard, "(?<=[=]).+?(?=[(])", head)
    RegExMatch(clipboard, "(?<=[(]).+(?=[)])", vars)
    x := StrSplit(vars, "`,")
		switch head
		{
			case "瞎几把":{
			msg := f瞎几把(x[1],x[2])
		}
		case "你随便写":{
		msg := f你随便写(x[1],x[2],x[3],x[n])
	}
Default:
	ToolTip,%msg%,,
	}
Send,{text}%msg%
Send,{Enter}
return
}

+f1::
	{
		Send ^c
		switch Clipboard
		{
			case "瞎几把":{
			msg =%Clipboard%(左上角坐标,右下角坐标),功能是演示
			ToolTip,%msg%,,
		}
		case "你随便写":{
		msg =%Clipboard%(左上角坐标,右下角坐标),功能是演示
		;把(左上角坐标,右下角坐标),功能是演示 改成你自己的函数描述
		ToolTip,%msg%,,
	}
Default:
	ToolTip,%msg%,,
	}
return
}

f瞎几把(A1,D2)
{
	theoutput==SUM(%A1%:%D2%)*8+5+%A1%-%D2%
	return theoutput
}

f你随便写(A1,D2,C3,G5)
{
	theoutput==SUM(%A1%:%D2%)*8+5+%A1%-%D2%
	;把 SUM(%A1%:%D2%)*8+5+%C3%-%G5% 换成你的公式,记得加两个%
	return theoutput
}

新增自定义函数,需要手动增改这几处
【当然,新增自定义函数的自动化程度还可以进一步提高。不过嘛,得加钱(狗头)】

函数名(你随便写)可以换成 字母数字下划线汉字的组合。
函数的参数,有几个就写几个,分别写x[1],x[2],x[3],……x[n]

这段是提示语

这段是函数本身,给原本公式里需要变动的参数前后加上百分号