【问题标题】:Change Custom Colors in MS Access using VBA使用 VBA 在 MS Access 中更改自定义颜色
【发布时间】:2011-09-19 20:04:25
【问题描述】:

我正在尝试更改访问中的颜色主题,并且我想为所有图表(条形图、饼图、边距、区域等)添加新的配色方案。 我正在使用 Ms Access 2000,我想出了一种方法来手动更改每种颜色,方法是单击图表,然后单击工具-->选项-->颜色-->图表填充,但是这种方法存在2个问题:

1.将颜色数量限制为8种
2.我需要为每个图手动更改我有超过 100 个图

感谢任何帮助

【问题讨论】:

    标签: ms-access vba graph ms-office


    【解决方案1】:

    我曾经以编程方式编辑图表中列的颜色。不过,我不确定使用哪个版本的访问权限。在access2003中它不再工作了,所以它可能在access 2000中工作。

    假设您的图表名为“OLEObject”。

    你可以像这样编辑背景:

        Me.OLEObject.Object.ActiveChart.PlotArea.Fill.OneColorGradient Style:=msoGradientHorizontal, Variant:=2, Degree:=0.8
    

    要编辑列/饼图的颜色、文本等,您可以访问 seriescollection。

       With Me.OLEObject.Object.ActiveChart.SeriesCollection(i)
           .Name = "name"
           .Values = "={" & 10 & "}"
           .Interior.color = 2
           .ApplyDataLabels ShowSeriesName:=True
    
           With .DataLabels
    
               .Font.Size = 10 
               .Orientation = xlUpward
           End With
    
           With .Fill
                .OneColorGradient Style:=msoGradientHorizontal, Variant:=1, Degree:=0.4
                .ForeColor.SchemeColor = 3
           End With
    
       End With
    

    您也可以通过编程方式添加/删除列:

          .SeriesCollection(3).delete
    
          .SeriesCollection.NewSeries
    

    【讨论】:

    • 最后我可以使用此代码 GraphA.SeriesCollection(I).Interior.Color = RGB(50,100,100) 让它工作但现在它没有显示它显示其他颜色而不是预期颜色的确切颜色,有什么想法吗?
    • 我不知道如何设置 RGB 颜色。我记得我也遇到过这个问题,所以我只是使用了内部配色方案。看看这个link。这是 excel 2000 的调色板,我假设 access 2000 使用的是相同的。不过,它仅限于 56 种颜色。如果这个调色板可以,你可以像我一样通过指定索引来设置颜色。
    • 我刚刚再次查看了我的代码,发现我正在使用以下代码:Interior.color = eval(RGB(50, 100, 100))
    • 我只是好奇,但您找到解决方案了吗?
    • 没有,我只是在tools-->Options-->colors下手动改了颜色
    猜你喜欢
    • 1970-01-01
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 2016-01-30
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多