【问题标题】:Pre-populate palette colors in Microsoft Office?在 Microsoft Office 中预填充调色板颜色?
【发布时间】:2015-07-27 11:10:57
【问题描述】:

我的同事在他们的 Excel 和 PowerPoint 文档中使用了非常特定的颜色,他们来找我,希望实现一些自动化。他们经常不得不为每个新文档完成烦人的任务,即从颜色选择器中重新挑选相同的三种颜色。

他们必须选择 RGB 值,然后将它们添加到每个文档的“最近使用的颜色”调色板中。

我知道有颜色主题,但他们只想运行 VBA 脚本或轻松保留通用设置以始终预加载这三种颜色。

问题

是否有一种快速方法(VBA/功能)来保持通用设置(最近的颜色)以始终预加载这三种颜色?

【问题讨论】:

  • 有趣的问题。一个很好的起点可能是this。也许,您可以在宏中记录最后描述的操作,以查看从工作簿复制到另一个工作簿的对象是什么,然后尝试了解您是否可以自己构建它以进行自动自定义,然后将其分发为加载项。
  • 您能否在空白电子表格中设置颜色,然后将其保存为默认模板,并在下次打开文档时将其保存在该模板中?
  • @Matteo NNZ 我在发布之前尝试过。看起来它没有记录调色板中添加的颜色。它只记录了应用于所选单元格的颜色。所以它没有记录工具栏事件:(
  • @FreeMan 这是一个很好的 B 计划。理想情况下,尽管他们希望它也适用于现有文档。
  • 如果您找到该文件,那么您可以创建一个加载项:1) 备份该文件; 2)通过XML Excel库修改旧的; 3)让用户选择是否要关闭加载项(在这种情况下,备份将替换旧的,自定义的将被销毁)。可能有一些更优雅的解决方案,但这是 Office 的配置,我认为它并没有什么不同。

标签: excel vba ms-office powerpoint office-interop


【解决方案1】:

我的同事找到了一个很好的解决方案,可以完美地满足我们的需求,尽管它确实涉及使用颜色主题,所以我有点超出了我的问题范围。

您可以导出具有所需颜色的主题,获取主题的 XML %USERPROFILE%\AppData\Roaming\Microsoft\Templates\Document Themes\Theme Colors

然后将其分发到同一个文件夹以供其他人使用。

然后,每个 Office 应用程序都具有该颜色主题,只需单击两下即可。这个复制过程可以用一个简单的BAT文件来完成。

【讨论】:

    【解决方案2】:

    在 PowerPoint 中,您可以执行此操作……但我在 Excel OM 中看不到 ExtraColors 对象。也许有类似的东西?

    Sub AddExtraColors()
    
        With ActivePresentation.ExtraColors
            .Add RGB(111, 111, 111)
            .Add RGB(222, 222, 222)
            .Add RGB(50, 50, 50)
            ' etc
        End With
    
    End Sub
    

    如果您找不到更直接的方法,您可以随时添加一个形状,将其填充设置为您想要的每种额外颜色,一个接一个,然后删除该形状。使用的颜色将保留在调色板的额外颜色部分。

    【讨论】:

    • 你必须很聪明才能击败 PowerPoint 本身的愚蠢。 ;-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-19
    • 1970-01-01
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    相关资源
    最近更新 更多