wps表格批处理——批量断开链接
wils
Lv.2潜力创作者
昨天有朋友问,如何批量断开wps表格里的外部链接
https://bbs.wps.cn/topic/90113
这里手写了一段ps1脚本,也可以让灵犀claw来写,很准还更完善
$et = New-Object -ComObject ket.application
dir *.xlsx | %{
$wb = $et.Workbooks.Open($_.FullName)
$wb.LinkSources(1) | %{
$_
$wb.BreakLink($_, 1)
}
$wb.Save()
$wb.Close()
}
$et.Quit()非常简单,每一句的意思大概如下:
打开ket
循环当前目录里的*.xlsx
打开当前workbook
循环当前wb里的第一类链接LinkSources(1)
输出日志
断开每一个链接
保存
关闭当前wb
关闭ket
为了使用方便,可以在第一行加入注释
#ANSI字符编码&cls&powershell -Version 5.1 -NoLogo -NoProfile -Command "gc -Encoding Oem -ReadCount 0 -LiteralPath '%~f0'|out-string|iex"&pause&exit/b意思是,可以将当前ps1脚本改为bat批处理,直接双击使用
为了方便指定处理的文件夹,可以类似这个帖子,让灵犀claw弹出文件夹选择框
https://bbs.wps.cn/topic/89917
也可以更方便一点,将批处理加入文件夹右键菜单,类似这个帖子
https://bbs.wps.cn/topic/88363
也就是,按win-r,运行regedit,打开注册表,导航到这里
计算机\HKEY_CLASSES_ROOT\Directory\Background\shell
在shell上右键,新建,项,随便起个名字,比如batxlsx
双击右边的默认值,起个名字比如,批量断开xlsx链接
在batxlsx上右键,新建,项,名叫command
双击右边的默认值,粘贴上面bat脚本的完整路径,如图
以后就可以,打开xlsx所在目录,右键,批量断开xlsx链接
wps表格的大部分操作都可以这样加入批处理
至于日志,现在只是将链接打印到cmd窗口,可以改为增量写入.log文件
另外,有了灵犀claw,写类似的脚本又快又好,没有任何门槛,只要愿意尝试都能飞快上手
最后,一定备份好数据再尝试
Lv.2潜力创作者
Lv.2潜力创作者
Lv.2潜力创作者
Lv.2潜力创作者