我从 Excel 的Cells.Find()方法中得到了一些奇怪的行为:
我正在搜索的变量:
PS > $volumename
vol_01
PS > $volumename.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
不产生任何结果:
PS > $sheet.Cells.Find($volumename).Row
但是如果我手动复制并粘贴该变量的值:
PS > $volumename = "vol_01"
PS > $volumename.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
得到我期望的值:
PS > $sheet.Cells.Find($volumename).Row
198
在我看来,它们在各方面都完全一样。并非所有情况都会发生这种情况。一些卷名可以很好地通过,而另一些则不能。我确实清理了这篇文章的卷名,因为它有一个客户命名约定。它与上面的格式相同,并且与有效的卷名格式相同。