【发布时间】:2010-12-06 17:39:44
【问题描述】:
我正在尝试在 Powershell 1.0 中自动化 Excel,但在尝试应用单元格“Font.ColorIndex”属性时遇到问题。
以下Microsoft KB 文章详细介绍了当运行脚本的计算机具有“en-us”以外的区域设置时 Excel 自动化的 BUG
当我手动将语言环境和区域设置更改为“en-us”并且仅在设置为“en-gb”时在最后一行失败
$Excel = New-object -com Excel.Application
$culture = [System.Globalization.CultureInfo]'en-us'
$Book = $Excel.Workbooks.psbase.gettype().InvokeMember("Add",
[Reflection.BindingFlags]::InvokeMethod,
$null, $Excel.Workbooks, $null, $culture)
$Sheet = $Book.Worksheets.Item(1)
$Excel.Visible = $True
$Sheet.Cells.Item(1,1).FormulaLocal = "test"
$Sheet.Cells.Item(1,1).Font.ColorIndex = 3
如前所述,如果我的语言环境设置为“en-gb”,则脚本可以正常工作,直到它失败的最后一行:
在此对象上找不到属性“ColorIndex”;确保它存在并且是可设置的。 在 :line:10 字符:29 + $Sheet.Cells.Item(1,1).Font。
有没有人知道如何解决这个问题(当然,除了将我的语言环境设置为“en-us”!!)
谢谢 -马克
【问题讨论】:
标签: excel powershell