PowerShell 和 Excel 问题在这里。
我有几个电子表格,每个电子表格约有 9000 行数据。
我想将 A 列与 B 列交换(并将数据保留在两列中)并使用 PowerShell 来执行此操作。
我在谷歌上做了很多查找,看看是否可以做到这一点,但似乎没有任何匹配和跳到我身上。
我已尝试以下操作,但它会抛出错误
无法获取 Worksheet 类的 Paste 属性。
$Sheets = Get-ChildItem -Path "<PATH HERE>" | Where-Object {$_.PSIsContainer -eq $false}
foreach ($Sheet in $Sheets) {
$wb = $excel.Workbooks.Open($Sheet.FullName)
$ws = $wb.ActiveSheet
$c = $ws.Columns
$c1 = $c.Item(1)
$c1.select()
$cut = $ws.Cells.Cut()
$c3 = $c.Item(3)
$c3.Select()
$ws.Paste($cut)
}
基本上我想做的事情与右键单击 A 列(选择该列并显示上下文菜单)相同,单击“剪切”,然后右键单击 C 列(显示上下文菜单)并单击“插入剪切单元格”,将列插入到 B 列的位置。
预先感谢您的任何帮助。
弄清楚了!
$Sheets = Get-ChildItem -Path "<PATH HERE>" | Where-Object {$_.PSIsContainer -eq $false}
foreach ($Sheet in $Sheets) {
$wb = $excel.Workbooks.Open($Sheet.FullName)
$ws = $wb.ActiveSheet
$c = $ws.Columns
$c.Item(1).Cut()
$c.Item(3).Insert()
$wb.Close()
}
最后超级简单。
我太忙于寻找“粘贴”而不是寻找“插入”。
通过 GUI 执行此操作并右键单击然后选择“插入剪切单元格”时,您要插入的列会根据默认行为自动向右移动
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)