获取Excel图表线条的Delphi颜色值

3

当Excel在图表上绘制线条时,它为每个数据系列的跟踪分配默认颜色。第一个为黑色,第二个为青色,以此类推。这些颜色的分配是否有文档记录?我想在Delphi中使用绘制图形的跟踪,但希望保持与Excel相同的颜色(Delphi应用程序正在替换目前使用Excel工作簿完成的工作)。

1个回答

3

“图表填充”和“图表线条”的默认颜色可以从菜单中访问:工具 -> 选项 -> 颜色(至少在 Excel 有菜单时是这样,我不知道新版本是否也是如此)。默认颜色可以按工作簿进行更改,因此它们是工作簿的属性。在“颜色”选项页面上总共有56种颜色,其中8种属于图表填充,8种属于图表线条。

如果您正在进行自动化操作,则可以通过以下方式检索工作簿的默认颜色:

TColor(XL.Workbooks[1].Colors[Index])

其中'XL'是Excel应用程序,'1'是工作簿索引,'Index'是1到56之间的数字。早期版本的Excel进行了一些测试,显示索引17-24是填充颜色,25-32是线条颜色。但是为了确保没有更改,请自行进行测试。

顺便说一句,我对您覆盖默认颜色的Delphi问题感到惊讶。


误解。当我说“Delphi应用程序正在替换目前使用Excel工作簿完成的工作”时,我的意思是:客户目前使用Excel制作他的图表。我正在编写一个Delphi应用程序来替换Excel目前为他完成的工作,并且我希望我的图表线颜色分配方式与Excel相同,以便他们的图表仍然具有相同的线颜色分配。我需要知道的是Pen.Color := ExcelChartLineColor(0),但如果我组合一个快速而简单的应用程序来打印颜色,您的建议也可以起作用。 - rossmcm
唉!我会感激一个评论来解释为什么要给我点踩。 - Sertac Akyuz
@user - 如果您同时点了踩和采纳答案,那可能有点不寻常。 :) 不过,我真正想知道的是为什么要踩我的回答...无论如何,还是谢谢您。 :) - Sertac Akyuz
嗨 - 我没有给你点踩!至少我不认为我这样做了。我原本以为我已经给您的回答点赞并将其标记为正确答案了,如果我确实意外地点踩了您,那该怎么看出来/取消点踩呢? - rossmcm
@user - 由于有人给你的回答点了踩,你的声望值会减少1分,我想你应该已经注意到了。此外,答案旁边的箭头中应该有一个看起来不同,那就是你投票的箭头。最后,据我所知,点踩是在你接受答案之后很久才出现的,所以我不认为这是你的行为。:) 顺便说一下,我从来没有认为过你会点踩这个答案,如果我的评论让你误解了,那只是因为我的英语表达能力有限,对此我深感抱歉。 - Sertac Akyuz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接