将Excel类型变量传递到PowerShell函数
问题描述:
我基本上试图创建一个Power Shell函数,该函数接受一个设置为Excel工作表的变量并返回最后使用的行和列。将Excel类型变量传递到PowerShell函数
我知道代码在函数外工作。这是它在我的函数中的样子。
Function FindRange ([string] $path)
{
$mainRng = $path.UsedRange.Cells
$ColCount = $mainRng.Columns.Count
$RowCount = $mainRng.Rows.Count
$xRow = $RowCount
$xCol = $ColCount
Write-Host "function DEBUG xrow:" $xRow
Write-Host "function DEBUG xcol: " $xCol
Write-Host "function path:" $path
}
FindRange $BTWSRawSheets
$ BTWSRawSheets是:
$BTWSRawSheets = $wbBTWS.worksheets | where {$_.name -eq "Export Worksheet"}
的写主机输出 “功能的路径:” $ path是
function path: System.__ComObject
有没有人能帮助我弄清楚如何通过excel工作表中作为参数?我花了几个小时研究和尝试,但没有运气。
答
我想你会混淆它是否是电子表格文件名(文本字符串,$ path是一个合理的名称),或者它是否是连接到工作表的正在运行的Excel实例的活动COM对象。考虑到你直接使用$ path.UsedRange的方式,并且从输出消息中,我猜它应该是后者 - 所以你将参数转换为[string]
的方式正在打破它。
尝试取出[字符串]类型:
Function FindRange ($path)
{
...