我需要使用Range.Find.
在Excel文档中进行不区分大小写的搜索我当前正在使用以下命令尝试对https://haveibeenpwned.com返回的任何电子邮件地址进行不区分大小写的搜索
$Found = $WorkSheet.Cells.Find($SearchText, $null, "xlValues", "xlWhole", "xlByRows", 1, $false) #What, After, Lookin, LookAt, SearchOrder, MatchCase
它返回:
WARNING: [] No public exploits found!
Type mismatch. (Exception from HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))
At C:\Users\qqqq\Documents\incidents\Search-PwnAddress.ps1:31 char:9
+ $Found = $WorkSheet.Cells.Find($SearchText, $null, "xlValues" ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [], COMException
+ FullyQualifiedErrorId : System.Runtime.InteropServices.COMException
如何正确进行范围查找,以便我可以进行不区分大小写的搜索?
答案 0 :(得分:0)
从Range.Find开始-请注意,"devicename2"
,xlValues
和xlWhole
不是常量xlByRows
,而是常量。它们是特定String
-XlFindLookIn
,XlLookAt
和XlSearchOrder
枚举的成员。
枚举的成员具有引用特定值的描述性名称-因此,在这种情况下,您可以使用相应的值作为参数。尝试将其名称传递为Enumerations
(即Strings
)将引发“类型不匹配”错误。
"xlValues"
:-4163 xlValues
:1 xlWhole
:1 请注意,您应该使用xlByRows
而不是[Type]::Missing
,如this answer所建议。