我尝试使用Workbook.OpenText传递参数FieldInfo,但没有成功
我想用fieldinfo参数打开一个最近创建的csv文件(我也试过使用txt扩展名),这样我就可以在一些列上放置文本格式,但它一直给我以下错误:
您无法在Null值运算式上呼叫方法。
该代码
'$array = @(数组(数组(1,1),数组(2,1),数组(3,1),数组(4,1),数组(5,1),数组(6,1),数组(7,1),数组(8,1),数组(9,1),数组(10,2),数组(11,1))
$MyWorkbook = $Excel.workbooks.OpenText($file,2,1,1,1,$True,$True,$True,$False,$False,$False,$False,$array)
$MyWorksheet = $MyWorkbook.WorkSheets.item(1)
`
非常感谢你的帮助
1条答案
按热度按时间niwlg2el1#
问题似乎在于,即使您指定逗号作为字段分隔符,Excel也始终会查看设置为系统ListSeparator..的内容。即使您指定“Other”和“OtherChar”参数使用逗号,它仍然会失败,并需要分号。
在我的荷兰机器上,它被设置为分号
;
,因此即使我的csv文件使用逗号,并且我将下面的参数设置为Comma
,Excel也会将其“转换”为[cultureinfo]::CurrentCulture.TextInfo.ListSeparator
中设置的任何内容对于我来说,当我在输入CSV文件中使用分号字符作为分隔符时,这是有效的,所以我需要首先更改csv的格式:
下一个问题是方法
OpenText()
似乎没有返回任何内容,这解释了错误消息You cannot call a method on a null-valued expression