首页 > 解决方案 > 如何使用任务计划程序在 Powershell 中修复“无法在空值表达式上调用方法”

问题描述

我们创建了一个 Power Shell 脚本来读取 excel 文件的部分内容,并将所需范围保存为图像。从 ISE(64 或 x86)运行时,它运行良好 - 生成的图像正是我们所期望的。当我们尝试将其作为 CMD 文件的一部分运行时 - 它失败了。我们已经尝试过 c:\windows\system32 中的 powershell 版本和 c:\windows\sysWOW64 中的版本。代码在下面的 .save 方法上失败:

错误消息的全文(任务计划程序或来自 cmd 提示符)

您不能在空值表达式上调用方法。在 c:\scripts\dumpexcel.ps1:41 char:31 +$oIMG.save <<<< ($sFNM, $vFMT) + CategoryInfo : 无效操作: (save:String) [], RuntimeException + FullyQualifiedErrorID: InvokeMethodOnNull

 if ($oWKS.cells.item($erow,"C").value2 -match "Total") {
     $oWKS.range("a" + $iTOT + ":K" + $erow).copy() 
     $vFMT = [system.drawing.imaging.imageformat]::Jpeg
     $oIMG=[windows.forms.clipboard]::GetImage();
     $sFNM="c:\temp\"+$sFNM+"."+$vFMT

     $oIMG.save($sFNM, $vFMT)
}

标签: powershell

解决方案


推荐阅读