Range.PasteSpecial(...)失败

时间:2015-02-22 11:57:55

标签: c# excel-automation

我正在使用Interop.Excel执行此任务。 我正在尝试从一个工作簿的工作表中复制一系列单元格并将其粘贴到单独的工作簿工作表中,但我想保留源工作表中的格式并将其粘贴到目标工作表中。我找到了PasteSpecial,并尝试使用它,但是当我尝试它时,我得到一个无用的异常消息:" Range类的PastSpecial方法失败",其HResult为-2146827284。无法通过谷歌找到任何东西,所以在这里我希望得到一些帮助...

我使用下面的代码试试这个。我也尝试使用Excel.XlPasteType.xlPasteAll作为PastSpecial方法的初始参数,并且确实将数据粘贴到目标表中,所以我认为很好,这很有效,但是当我仔细观察时,我可以看到,非常有效,看起来像额外的网格线,当我点击粘贴的数据时,它是一个可以移动的整个对象,就像粘贴在其中的图像可以被移动。这当然不是我想要的。我的想法是我需要保留格式和边框样式以及使用的颜色。

非常感谢阅读 - 如果我在帖子中的格式搞砸了,请道歉。

Excel.Range rng6 = sht6.Cells.get_Range("A1", "O55"); 
Excel.Range rng1 = sht.get_Range("A" + rowStart6.ToString(), "O" + rowEnd6.ToString());
rng6.Copy(mis);
/** Fails here at PasteSpecial**/
rng1.PasteSpecial(Excel.XlPasteType.xlPasteFormats, Excel.XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, false);

0 个答案:

没有答案