【按住左CTRL键或者动作上右键-添加新样式,即可保存当前选中的第一个单元格的样式,下次可以直接调用该样式】无效,这个本意是非常好的,我们偏爱某一种样式,可以设定至一个单元格中,然后保存,但我这边只能是加粗和斜体,颜色均不生效
我有空看看
感谢大佬的分享,用chatGPT来检查问题,修改了下VBS脚本,问题解决了,新的脚本贴在下方供其他人修改,或者大佬有空可以修改下动作。--------------------------------------------------------从VBS脚本的代码来看,有几个潜在的问题需要修正:
GetObject(,"excel.application") 的语法错误:GetObject 的正确调用方式应该包括明确的参数。通常,用来打开现有的Excel应用对象时,应该是类似 GetObject(, "Excel.Application")。即 "Excel.Application" 是必需的,它是 COM 对象的名称。
GetObject(,"excel.application")
GetObject
GetObject(, "Excel.Application")
"Excel.Application"
修正:
vbscriptSet application = GetObject(, "Excel.Application")
application.selection(1) 的问题:application.selection 是一个范围对象,而 selection 本身不需要像数组一样访问。如果你想获取当前选定的单元格,只需要使用 application.selection。因此, application.selection(1) 会产生错误,因为 selection 不是一个数组。
application.selection(1)
application.selection
selection
vbscriptSet rng = application.selection
.Interior.Color 和其他属性问题:你访问的是单元格的各种属性,如颜色、对齐方式等,通常这些属性在选定的范围上是有效的。没有显著的问题,只是需要确保实际操作的范围是单元格。如果你确保已经选中单元格范围,那么这些代码应该是可以正常工作的。
.Interior.Color
不必要的 Set application = Nothing 和 Set rng = Nothing这些行在脚本的末尾没有问题,但它们不是必需的,因为VBScript中的对象是自动清理的,除非你在处理特别复杂的对象资源时。
Set application = Nothing
Set rng = Nothing
同样的问题
右键动作点击“编辑”修改
修改后的脚本:----------------
Dim application, rngSet application = GetObject(, "Excel.Application")Set rng = application.selectionWith rng ds = .Interior.Color '单元格底色 sp = .HorizontalAlignment '水平方式 cz = .VerticalAlignment '垂直方式End WithWith rng.font ztys = .Color '字体颜色 zt = .Name '字体名称 dx = .Size '字体大小 jc = .Bold '加粗 xt = .Italic '斜体 xhx = .Underline '下划线End WithWith rng.borders bk = .LineStyle '边框样式 bkkd = .Weight '边框宽度 bkys = .Color '边框颜色End Witharr = Array(ds, sp, cz, ztys, zt, dx, jc, xt, xhx, bk, bkkd, bkys)WScript.Echo Join(arr, "|")' Optionally clean up referencesSet application = NothingSet rng = Nothing
我有空看看
感谢大佬的分享,用chatGPT来检查问题,修改了下VBS脚本,问题解决了,新的脚本贴在下方供其他人修改,或者大佬有空可以修改下动作。
--------------------------------------------------------
从VBS脚本的代码来看,有几个潜在的问题需要修正:
GetObject(,"excel.application")
的语法错误:GetObject
的正确调用方式应该包括明确的参数。通常,用来打开现有的Excel应用对象时,应该是类似GetObject(, "Excel.Application")
。即"Excel.Application"
是必需的,它是 COM 对象的名称。修正:
application.selection(1)
的问题:application.selection
是一个范围对象,而selection
本身不需要像数组一样访问。如果你想获取当前选定的单元格,只需要使用application.selection
。因此,application.selection(1)
会产生错误,因为selection
不是一个数组。修正:
.Interior.Color
和其他属性问题:你访问的是单元格的各种属性,如颜色、对齐方式等,通常这些属性在选定的范围上是有效的。没有显著的问题,只是需要确保实际操作的范围是单元格。如果你确保已经选中单元格范围,那么这些代码应该是可以正常工作的。
不必要的
Set application = Nothing
和Set rng = Nothing
这些行在脚本的末尾没有问题,但它们不是必需的,因为VBScript中的对象是自动清理的,除非你在处理特别复杂的对象资源时。
总结:
GetObject(, "Excel.Application")
的调用正确。application.selection(1)
,改为application.selection
。