通过 Powershell 使用自定义颜色填充 Excel 单元格

问题描述 投票:0回答:1

我可以使用比 Interior.ColorIndex(56 种颜色)提供的更多(自定义)颜色填充 Excel 单元格吗?

我正在使用“Interior.ColorIndex”,但它仅提供 56 种不同的颜色。

$FormatSheet1.Range("C1").Interior.ColorIndex = 35
excel powershell colors cell fill
1个回答
1
投票

回答

您可以使用 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
© www.soinside.com 2019 - 2024. All rights reserved.