【问题标题】:PowerShell Paste To Excel - Match DestinationPowerShell 粘贴到 Excel - 匹配目标
【发布时间】:2016-12-22 04:50:59
【问题描述】:

根据我的last question,我现在希望我的 Excel 工作表中的数据保留 Excel 工作表的当前格式。基本上,Excel 工作表已经为单元格设置了背景颜色和特定的边框。当我将数据复制到单元格时:

$Excel = New-Object -ComObject excel.application
$Excel.visible = $true
$WorkBook = $excel.Workbooks.Open($ExportCsv)
$WorkBook2 = $excel.Workbooks.open($Template)
$Worksheet = $Workbook.WorkSheets.item($ExpCsvShort)
$Worksheet.activate()
#A Range Copy
$rangeAc = $WorkSheet.Range(“A2:A26”)
$rangeAc.Copy() | out-null
#Select sheet 2
$Worksheet2 = $Workbook2.Worksheets.item(“Worklog”)
$worksheet2.activate()
#A Range Paste
$rangeAp = $Worksheet2.Range(“K6:K30”)
$Worksheet2.Paste($rangeAp)
#C Range Copy
$rangeCc = $WorkSheet.Range(“C2:C26”)
$rangeCc.Copy() | out-null
#C Range Paste
$rangeCp = $Worksheet2.Range(“O6:O30”)
$Worksheet2.Paste($rangeCp)
#D Range Copy
$rangeDc = $WorkSheet.Range(“D2:D26”)
$rangeDc.Copy() | out-null
#D Range Paste
$rangeDp = $Worksheet2.Range(“L6:L30”)
$Worksheet2.Paste($rangeDp)

我丢失了单元格的格式。看到this question,尝试了.PasteSpecial()方法,失败了(不能调用空表达式)但是数据还是过来了。

当我粘贴数据而不完全重写我的脚本时,有没有办法保留我的单元格背景颜色和边框?我可以在现有代码中添加.PasteSpecial() 以匹配目标格式吗?

【问题讨论】:

    标签: excel powershell


    【解决方案1】:

    想通了。我在想我的台词应该是:

    $rangeAp = $Worksheet2.Range(“K6:K30”)
    $Worksheet2.PasteSpecial(-4163, $rangeAp)
    

    但应该是:

    $rangeAp = $Worksheet2.Range(“K6:K30”)
    $rangeAp.PasteSpecial(-4163)
    

    我误解了如何调用.PasteSpecial()。我希望你们在这方面比我聪明!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      • 2013-04-29
      • 2015-12-02
      相关资源
      最近更新 更多