【问题标题】:Insert an empty row in an Excel document using PowerShell使用 PowerShell 在 Excel 文档中插入空行
【发布时间】:2019-09-16 23:54:31
【问题描述】:

我正在尝试以编程方式在我的 Excel 工作表中的指定位置插入新行,尽管在网络上进行了大量搜索,但我无法找到实现此目的的方法。

以下代码成功插入一个空列:

$xlShiftToRight = -4161

#Get list of files
$File = Get-ChildItem c:\path\to\file.xlsx

#Launch Excel
$XL = New-Object -ComObject Excel.Application

#Open the file and get the Data sheet
$WB = $XL.Workbooks.Open($File.Fullname)

$XL.Visible = $true
$Sheet = $WB.Worksheets.Item('Naira')

$objRange = $XL.Range("C3").EntireColumn
[void]$objRange.Insert($xlShiftToRight)

但镜面反射替代方案 - 使用 EntireRow 而不是 EntireColumn 不会。

问题

如何使用 PowerShell 在 Excel 文档中的另一特定行之后插入一行?

【问题讨论】:

    标签: excel powershell


    【解决方案1】:

    仅更改范围是不够的。您还需要更改移动现有单元格的方向(插入整行时向右移动没有多大意义)。

    改变这个:

    $xlShiftToRight = -4161 
    
    ...
    
    $objRange = $XL.Range("C3").EntireColumn 
    [void] $objRange.Insert($xlShiftToRight)
    

    进入这个:

    $xlShiftDown = -4121
    
    ...
    
    $objRange = $XL.Range("C3").EntireRow
    [void]$objRange.Insert($xlShiftDown)
    

    【讨论】:

    • 感谢您的回复。这确实有效 - 最重要的是,我遇到了另一个我没有意识到的问题,我试图在“表格”中插入一个新行,显然这个操作是不允许的。
    猜你喜欢
    • 1970-01-01
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-05
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多