Excel复制粘贴范围的单元格

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

$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(); 

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

有一个Range.PasteSpecial对应于你可以用键盘/菜单做什么。 它允许您指定要复制的内容,请参阅: http : //msdn.microsoft.com/en-us/library/office/ff839476而http://msdn.microsoft.com/zh-cn/library/office/ ff837425

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