我一直在尝试在windows powershell中编写一个脚本,它从工作表单元格中获取一个值,然后用它更改切片器的值。然而,难住我的部分应该是最简单的。每当我尝试访问Microsoft Excel中的工作表层时,都会收到一条错误消息:“不能对空值表达式调用方法。”
我尝试了几种方法,声明一个活动的工作表,添加工作表,尝试引用现有的工作表,任何访问工作表的尝试都会产生同样的错误。因此,我最多只能编写6行代码,然后它就会失败。下面是一个在最后一行失败的代码示例。
$FilePath = "C:\Users\mudkip\desktop\slicer\TestMe.xlsx"
$SheetName = "Sheet1"
$objExcel = New-Object -Com "Excel.Application"
$objExcel.Visible = $true
$workbook = $ObjExcel.workbooks.open($filePath)
$worksheet = $workbook.sheets.item($SheetName) 其他行,如
$WorksheetA = $Workbook.Worksheets.add()也会导致相同的空值表达式失败。如果有人知道是什么原因导致工作表层对任何类型的交互表现出这种奇怪的抵抗力,我很想听听,我完全搞不懂为什么复制粘贴的代码在我尝试使用它时会失败,因为它适用于这么多其他用户。我使用的是Windows 8.1 Enterprise,Microsoft Excel 2013版。通过powershell ISE运行PowerShell。
发布于 2016-07-27 23:02:03
已重新安装Microsoft Excel,问题消失。
https://stackoverflow.com/questions/38614021
复制相似问题