我可以使用比 Interior.ColorIndex(56 种颜色)提供的更多(自定义)颜色填充 Excel 单元格吗?
我正在使用“Interior.ColorIndex”,但它仅提供 56 种不同的颜色。
$FormatSheet1.Range("C1").Interior.ColorIndex = 35
您可以使用 Color 属性来设置 RGB 颜色值:
$FormatSheet1.Range("C1").Interior.Color = 8454080
# 8454080 = a sickly yellow-green colour I found
如果您需要将 R、G 和 B 分量值转换为 RGB 整数,VBA 有一个
RGB()
函数:
? VBA.RGB(192, 255, 128)
8454080
或者您可以使用 PowerShell 等效表达式:
PS> $r = 192; $g = 255; $b = 128;
PS> $rgb = $r + ($g * 256) + ($b * 256 * 256);
PS> $FormatSheet1.Range("C1").Interior.Color = $rgb
如果您需要在脚本中多次计算它,您可以将其包装在一个简单的函数中:
PS> function RGB($r, $g, $b) { $r + ($g * 256) + ($b * 256 * 256) }
PS> RGB -r 192 -g 255 -b 128
8454080
PS> $FormatSheet1.Range("C1").Interior.Color = RGB -r 192 -g 255 -b 128
如果您有 HTML / CSS 样式颜色定义,您还可以使用 十六进制文字:
$FormatSheet1.Range("C1").Interior.Color = 0x80FFC0