添加新样式中的问题

BUG反馈 · 360 次浏览
一烟难禁 创建于 2023-06-13 09:13

【按住左CTRL键或者动作上右键-添加新样式,即可保存当前选中的第一个单元格的样式,下次可以直接调用该样式】无效,这个本意是非常好的,我们偏爱某一种样式,可以设定至一个单元格中,然后保存,但我这边只能是加粗和斜体,颜色均不生效

 


湘喑 2023-06-13 11:36 :

我有空看看

wym1ng 回复 湘喑 2025-01-16 00:26 :

感谢大佬的分享,用chatGPT来检查问题,修改了下VBS脚本,问题解决了,新的脚本贴在下方供其他人修改,或者大佬有空可以修改下动作。
--------------------------------------------------------
从VBS脚本的代码来看,有几个潜在的问题需要修正:

  1. GetObject(,"excel.application") 的语法错误:
    GetObject 的正确调用方式应该包括明确的参数。通常,用来打开现有的Excel应用对象时,应该是类似 GetObject(, "Excel.Application")。即 "Excel.Application" 是必需的,它是 COM 对象的名称。

    修正:

    vbscript
    Set application = GetObject(, "Excel.Application")
  2. application.selection(1) 的问题:
    application.selection 是一个范围对象,而 selection 本身不需要像数组一样访问。如果你想获取当前选定的单元格,只需要使用 application.selection。因此, application.selection(1) 会产生错误,因为 selection 不是一个数组。

    修正:

    vbscript
    Set rng = application.selection
  3. .Interior.Color 和其他属性问题:
    你访问的是单元格的各种属性,如颜色、对齐方式等,通常这些属性在选定的范围上是有效的。没有显著的问题,只是需要确保实际操作的范围是单元格。如果你确保已经选中单元格范围,那么这些代码应该是可以正常工作的。

  4. 不必要的 Set application = NothingSet rng = Nothing
    这些行在脚本的末尾没有问题,但它们不是必需的,因为VBScript中的对象是自动清理的,除非你在处理特别复杂的对象资源时。

    总结:

    1. 确保 GetObject(, "Excel.Application") 的调用正确。
    2. 不要使用 application.selection(1),改为 application.selection
    3. 你可以保留清理代码,但它并非强制要求。
wym1ng 最后更新于 2025-01-16 00:26
回复内容
wym1ng 2024-11-01 22:19
#1

同样的问题

wym1ng 2025-01-16 00:31
#2

右键动作点击“编辑”修改



修改后的脚本:
----------------

Dim application, rng
Set application = GetObject(, "Excel.Application")
Set rng = application.selection
With rng
  ds = .Interior.Color  '单元格底色
  sp = .HorizontalAlignment  '水平方式
  cz = .VerticalAlignment  '垂直方式
End With
With rng.font
  ztys = .Color  '字体颜色
  zt = .Name  '字体名称
  dx = .Size  '字体大小
  jc = .Bold  '加粗
  xt = .Italic  '斜体
  xhx = .Underline  '下划线
End With
With rng.borders
  bk = .LineStyle  '边框样式
  bkkd = .Weight  '边框宽度
  bkys = .Color  '边框颜色
End With
arr = Array(ds, sp, cz, ztys, zt, dx, jc, xt, xhx, bk, bkkd, bkys)
WScript.Echo Join(arr, "|")
' Optionally clean up references
Set application = Nothing
Set rng = Nothing


wym1ng 最后更新于 2025-01-16 00:31
回复主贴