上下文菜单“层”标签颜色>主题颜色

时间:2019-06-29 11:56:00

标签: excel xml vba

如何在此处放置自己的颜色或为我的颜色创建menu button,请共享一些XML或VBA?我要添加的颜色例如:

ActiveSheet.Tab.Color = RGB(251, 206, 177) 'Apricot
ActiveSheet.Tab.Color = RGB(181, 184, 177) 'Agate Grey
ActiveSheet.Tab.Color = RGB(120, 219, 226) 'Aquamarine Crayola
ActiveSheet.Tab.Color = RGB(227, 38, 54) 'Alizarin Red

我已经有menu button的单元格Context Menu。我正在使用XML + VBA。
VBA代码

Sub TabColor_1()
ActiveSheet.Tab.Color = RGB(251, 206, 177) 'Apricot
End Sub

Sub TabColor_2()
ActiveSheet.Tab.Color = RGB(181, 184, 177) 'Agate Grey
End Sub

Sub TabColor_3()
ActiveSheet.Tab.Color = RGB(120, 219, 226) 'Aquamarine Crayola
End Sub

Sub TabColor_4()
ActiveSheet.Tab.Color = RGB(227, 38, 54) 'Alizarin Red
End Sub

2 个答案:

答案 0 :(得分:0)

您可以将一个自定义选项添加到名为“我的自定义颜色”的右键单击菜单中,该选项通过将以下代码放置在ThisWorksheet的模块中来更改工作表标签的颜色。在此代码内,您可以调用常规模块中的TabColor子控件。

Private Sub Workbook_Open()


Dim MyMenu As Object


Set MyMenu = Application.ShortcutMenus(xlWorksheetCell) _
    .MenuItems.AddMenu("My Custom Colors", 1)


With MyMenu.MenuItems


    .Add "Apricot", "TabColor_1", , 1, , ""

    .Add "Agate Grey", "TabColor_2", , 2, , ""

End With


Set MyMenu = Nothing

End Sub


Sub TabColor_1()

ActiveSheet.Tab.Color = RGB(251, 206, 177) 'Apricot


End Sub

Sub TabColor_2()

ActiveSheet.Tab.Color = RGB(181, 184, 177) 'Agate Grey

End Sub

enter image description here

版本1

您可以使用这些xml将单元格底纹和字体颜色的库添加到上下文菜单中。根据您的需要,下面有几个变体。

<gallery idMso="CellFillColorPicker"/>
<gallery idMso="FontColorPicker"/> 


<!-- DropDownColorPickers -->
<Command Name="cmdDropDownColorPickerGroup"
         Symbol="cmdDropDownColorPickerGroup"
         Comment="DropDownColorPicker Group"
         Id="55000"/>
<Command Name="cmdDropDownColorPickerThemeColors"
         Symbol="cmdDropDownColorPickerThemeColors"
         Comment="DropDownColorPicker ThemeColors"
         Id="55010"
         LabelTitle="ThemeColors"
         LabelDescription="ThemeColors\ndescription."/>
<Command Name="cmdDropDownColorPickerStandardColors"
         Symbol="cmdDropDownColorPickerStandardColors"
         Comment="DropDownColorPicker StandardColors"
         Id="55011"
         LabelTitle="StandardColors"/>
<Command Name="cmdDropDownColorPickerHighlightColors"
         Symbol="cmdDropDownColorPickerHighlightColors"
         Comment="DropDownColorPicker HighlightColors"
         Id="55012"
         LabelTitle="HighlightColors"/>


<Group CommandName=&quot;cmdDropDownColorPickerGroup&quot;
           SizeDefinition=&quot;ThreeButtons&quot;>
      <DropDownColorPicker
        CommandName=&quot;cmdDropDownColorPickerThemeColors&quot;
        ColorTemplate=&quot;ThemeColors&quot;/>
      <DropDownColorPicker
        CommandName=&quot;cmdDropDownColorPickerStandardColors&quot;
        ColorTemplate=&quot;StandardColors&quot;/>
      <DropDownColorPicker
        CommandName=&quot;cmdDropDownColorPickerHighlightColors&quot;
        ColorTemplate=&quot;HighlightColors&quot;
        StandardColorGridRows=&quot;1&quot;/>
    </Group>

https://docs.microsoft.com/en-us/windows/desktop/windowsribbon/windowsribbon-controls-dropdowncolorpicker

答案 1 :(得分:0)

[已解决]

...找到一些技巧。

注意:

  • 您只能添加50种颜色!
  • 您需要7-zip。
  • 不适用于Excel。
  • 文件theme1.xml也适用于所有Office程序。

对于自定义颜色:

Introduction to XML in PowerPoint
Create Custom Colors in XML - PowerPoint Template creation

  1. 打开.pptx;带有7-zip的docx文件。
  2. 您在文件中所做的更改-\ppt\theme\theme1.xml ¦ \word\theme\theme1.xml ...
  3. <a:extraClrSchemeLst/>行之后添加:
<a:custClrLst>
    <a:custClr name="Muslim green"><a:srgbClr val="009900"/></a:custClr>
    <a:custClr name="Mouse-grey"><a:srgbClr val="646B63"/></a:custClr>
    <a:custClr name="Mint cream"><a:srgbClr val="F5FFFA"/></a:custClr>
    <a:custClr name="Narcissus yellow"><a:srgbClr val="DC9D00"/></a:custClr>
    <a:custClr name="Rich brown"><a:srgbClr val="753313"/></a:custClr>
</a:custClrLst>

对于最近的颜色:

Recent Colors Palette in PowerPoint - XML

  1. 使用7-zip打开.pptx文件(我仅在PowerPoint中进行过测试)。
  2. 文件\ppt\presProps.xml中所做的更改。
  3. 在“ xmlns:a:r:p”行之后应这样:
<p:clrMru>
    <a:srgbClr val="AB274F"/>
    <a:srgbClr val="6E5160"/>
    <a:srgbClr val="003153"/>
</p:clrMru>
  1. 要删除所有“最近的颜色”,只需将此<p:clrMru/>放进去。

可帮助创建调色板的加载项