将Exceltypesvariables传递到PowerShell函数

我基本上试图创build一个Power Shell函数,它接受一个variables设置为一个Excel工作表,并返回最后使用的行和列。

我知道代码在一个函数之外工作。 这是我的function看起来像什么。

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"} 

Write-Host“function path:”$ path的输出是

  function path: System.__ComObject 

有没有人能够帮助我弄清楚如何通过Excel工作表作为参数? 我花了几个小时研究和尝试,但没有运气。

我认为你是在混合电子表格文件名(一个文本string,$ path是一个合理的名称),还是连接到一个工作表是否是一个正在运行的Excel实例的活动COM对象。 鉴于你直接使用$ path.UsedRange的方式,并且从输出消息中,我猜它应该是后者 – 所以你将参数转换为[string]正在打破它。

尝试删除[string]types:

 Function FindRange ($path) { ...