我想创建一个应用程序,其中需要将查找表(在excel中)作为应用程序的输入。此查找表将脚本名称映射到其运行时详细信息。在我的应用程序中,我想访问与用户提供的脚本名称关联的运行时。
代码:
$hash = @{}
$xl = New-Object -COM "Excel.Application"
$wb = $xl.Workbooks.Open("$data_path\Lookup_Table.xlsm")
$ws = $wb.WorkSheets.Item(1)
$ws.activate()
$objRange = $ws.UsedRange
$RowCount = $objRange.Rows.Count
for ($k=0; $k -lt $RowCount; $k++)
{
$fullname = $ws.cells.item(2+$k,1)
$time = $ws.cells.item(2+$k,2)
$hash.Set_Item($fullname,$time)
}
$wb.Save()
$wb.Close()
$xl.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($xl)
Stop-Process -Name EXCEL -Force
仍然$ hash没有取值
$hash.Get_Item($name)
命令不输出任何内容。
我厌倦了我所知道的三种方法
$hash[$fullname] = $time
$hash.Add($fullname , $time)
$hash.Set_Item($fullname,$time)
可能是什么问题?