复制粘贴Powershell Excel保持格式

时间:2015-11-18 14:29:30

标签: excel powershell

我正在尝试自动复制和粘贴数据的过程,但对我来说保持单元格格式相同非常重要。

我尝试使用PasteSpecial(-4163)但是没有用。奇怪的是,它将一些值变为粗体,其他值则变为非粗体(?)。

这是我创建的用于执行复制和粘贴的功能。 有人有什么建议吗?

function CopyPasteRange
{
    #args[0] = sheet
    #args[1] = row
    #args[2] = column

    $range = $args[0].Cells.Item($args[1], ($args[2])).EntireColumn;
    $range.Copy();
    $args[0].Cells.Item(1, $args[2]).PasteSpecial(-4163);
}

2 个答案:

答案 0 :(得分:3)

找到解决方案!我删除了PasteSpecial(-4163)中的-4163值,现在用格式化和所有内容复制了单元格。

我觉得超级特别!

答案 1 :(得分:2)

根据Range.PasteSpecial methodXlPasteType enumeration您当前粘贴的值(例如xlPasteValues)。您必须使用 13 xlPasteAllUsingSourceTheme)之类的东西作为XlPasteType参数运行第二个PasteSpecial操作。

function CopyPasteRange
{
    #args[0] = sheet
    #args[1] = row
    #args[2] = column

    $range = $args[0].Cells.Item($args[1], ($args[2])).EntireColumn;
    $range.Copy();
    $args[0].Cells.Item(1, $args[2]).PasteSpecial(-4163);
    $args[0].Cells.Item(1, $args[2]).PasteSpecial(13);
}