powershell使用可选参数调用方法

时间:2013-07-05 07:35:32

标签: powershell parameter-passing

我有一个excel vba代码,可以在工作表中找到特定的单元格。它使用excel库的Find方法。这是代码

objRange.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows)

我需要在powershell中做同样的事情。但是这种方法总共有9个参数。如何忽略powershell中的其他可选参数。像这样的东西?

$range.Find("*", "", "", "", $xlByRows, $xlPrevious, "", "", "")

HereRange.Find方法

的文档

2 个答案:

答案 0 :(得分:9)

$null不起作用,但根据this answer,您可以使用[Type]::Missing

$default = [Type]::Missing
$xl.Cells.Find("*", $default, $default, $default, $xlByRows, $xlPrevious,
               $default, $default, $default)

答案 1 :(得分:0)

我通过创建使用我想要的值调用核心方法的重载方法来解决这个问题。例如我希望用户能够指定已处理记录的数量或调用"增量"方法,然后只需调用" WriteProgress"没有争论:

function calculate() {

//gather all markup fields on page
var rows = document.getElementsByClassName("markupclass");

//ADDED - middle conditional - cycle through each rows and calculate
for (i = 0; i < rows.length; i++) {

    //do my calculations here
   }
}

}