修改“另存为”默认保存路径

wils

创作者俱乐部成员

论坛里有朋友发现,另存为的默认目录,在注册表里

https://bbs.wps.cn/topic/16115

尝试弄个宏,在每次保存前,修改注册表LastPath的值,为当前文件所在目录

🔔

function Application_WorkbookBeforeSave(Wb, SaveAsUI, Cancel)

{

const p = ActiveWorkbook.Path

const l = Evaluate(`lenb("${p}")`)

const h = ExecuteExcel4Macro(`CALL("Advapi32", "RegOpenKeyExA", "5JCJJN", ${0x80000001 << 0}, "Software\\kingsoft\\Office\\6.0\\Common\\CloudFileDialog\\PathMemoryInfo\\saveTypeCommonPathInfo", 0, ${0x3f}, 0)`)

ExecuteExcel4Macro(`CALL("Advapi32", "RegSetValueExA", "JJCJJCJ", ${h}, "LastPath", 0, 1, "${p}", ${l})`)

ExecuteExcel4Macro(`CALL("Advapi32", "RegCloseKey", "JJ", ${h})`)

}


这只是个尝试,实际用的话,需要保存为xlam加载项,再考虑第一次创建的文件没有路径等情况

只是说这条路可以走通,通过保存前的事件,触发修改注册表的动作,改变另存为窗口默认的路径


但是,另一方面也可以看出,简简单单就可以修改注册表,使用宏确实需要谨慎

最起码,有了ai,在使用宏之前,用ai解释每一句到底干了什么,看清楚再用还是有必要的,也算是比较方便了

广东省
浏览 316
2
9
分享
9 +1
12
2 +1
全部评论 12
 
懒得批爆

创作者俱乐部成员

我来转牛角尖了,没有注册表怎么弄?
· 四川省
回复
wils

创作者俱乐部成员

不要生气,其实苹果的excel有vba也是假象,它没有com对象,即使最常用的字典,也得用collection模拟,即使宏账户互通了,每个脚本也得给苹果专门写另一个功能受限的版本。。。 它的潜台词就是,我的审美就是最好,你们都得听我的,连编程也得用我的语言,不听我的就别用,爱用不用,有的是人用。。。
· 广东省
回复
 
虽然但是,一通操作实现的功能不就是这个按钮的功能吗?
· 安徽省
回复
wils

创作者俱乐部成员

嘿嘿,没错就是钻牛角尖😂 开头的那个贴子里怨念辣么大,也就为了一个按键。。。 其实每天发帖,也是没话找话,混个脸熟 顺便锻炼一下脑筋,避免老年痴呆,为日后的保安生活打好基础 已经被ai搞疯了😂,整活都没啥好整的了
· 广东省
1
回复
 
学到了
· 福建省
回复