2

セルのプロパティ値(行の高さ/幅など)を保持したまま、セルの範囲をコピー/貼り付けする方法。私は次のことをします:

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

そして結果はめちゃくちゃです。行/列の高さ/幅が元の値と異なります。

4

1 に答える 1

2

キーボード/メニューでできることに対応するRange.PasteSpecialがあります。コピーする内容を指定できます。http: //msdn.microsoft.com/en-us/library/office/ff839476 および http://msdn.microsoft.com/en-us/library/office/を参照してください。 ff837425

ここで(PowerShellで)いくつかの興味深い例を見つけました:http: //theolddogscriptingblog.wordpress.com/2010/06/01/powershell-excel-cookbook-ver-2/

于 2012-08-26T08:19:25.493 に答える