Excel复制粘贴范围的单元格

时间:2012-08-25 18:28:58

标签: excel powershell

如何复制/粘贴单元格范围并保留单元格的属性值(例如行高/宽度)。我做了以下事情:

$excel=new-object -comobject excel.application;
$excel.visible=$true;
$SourceWorkBook=$Excel.Workbooks.open("c:\ret.xls");
$TargetWorkBook=$excel.workBooks.open("c:\test.xlsx");
$SourceWorkBook.WorkSheets.item(1).activate();
$SourceRange=$SourceWorkBook.WorkSheets.item(1).range("A6","P17");
$SourceRange.copy() | out-null;
$TargetWorkBook.worksheets.item(1).paste();

结果搞砸了。行/列的高度/宽度与其原始值不同。

1 个答案:

答案 0 :(得分:2)

有一个Range.PasteSpecial对应于您可以使用键盘/菜单执行的操作。它允许您指定要复制的内容,请参阅: http://msdn.microsoft.com/en-us/library/office/ff839476http://msdn.microsoft.com/en-us/library/office/ff837425

我在这里找到了一些有趣的例子(在PowerShell中):    http://theolddogscriptingblog.wordpress.com/2010/06/01/powershell-excel-cookbook-ver-2/