【问题标题】:Visual Basic, Excel VSTO: Set worksheet tab colorVisual Basic、Excel VSTO:设置工作表选项卡颜色
【发布时间】:2016-01-15 00:27:53
【问题描述】:

全部,

希望你一切顺利!

我目前正在将 VSTO 中的一些 Visual C# 代码转换为 Visual Basic,并且在为工作表设置 Tab.Color 时遇到了麻烦。

目前,我正在这样做:

Dim c As Color
c = System.Drawing.Color.Blue

Dim w As Excel.Worksheet
w = Me.Application.Worksheets.Add()
w.Tab.Color = c

但是,无论 C 的值如何,选项卡始终是黑色的。这在 Visual C# 中运行良好,但我无法找出 Visual Basic 的等效项。

非常感谢任何帮助!谢谢!

【问题讨论】:

标签: vb.net excel vsto


【解决方案1】:

试试w.Tab.Color = &hFF0000 VSTO 中的颜色很麻烦。与 System.Drawing.Color 不同,它们最初采用 BGR 格式。所以我猜 C# 会以某种方式处理它。无论如何,您可以使用一个简单的函数将颜色从 System.Drawing 转换为整数:

Function ConvertColor(ByVal color As System.Drawing.Color) As Integer
    Return ((color.B * &h10000) + ((color.G * &h100) + color.R))
End Function

【讨论】:

  • 无法正常工作 - 选项卡仍然显示为黑色 - 不过谢谢!
  • @McThunderThighs 我刚刚检查过。该代码有效。更重要的是,您的代码也运行良好。也许你有一些其他代码在改变标签颜色(或者一些你忘记从 excel 中删除的实验性插件,它经常发生在我身上)
  • 你确实是对的 - c 在超出范围时被设置为 0,因此标签被设置为黑色。
猜你喜欢
  • 2016-10-09
  • 2023-03-28
  • 2020-04-19
  • 2018-05-12
  • 1970-01-01
  • 1970-01-01
  • 2011-02-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多