2010-07-16 216 views
1

我们正在尝试使用模板生成Excel表单。通常我们会做一个基本的“另存为”来保存文件,但文件大小过高。所以,现在我们正在将原始工作簿的已用范围复制到新的工作簿中。使用VSTO(C#)从一个模板复制到另一个模板时,Excel颜色变得扭曲

数据得到复制,以及有关使用PasteSpecial命令的验证和公式以及除单元格背景和字体颜色以外的所有数据和格式都相同。他们几乎倒过来了。

请建议我怎么解决这个问题。

回答

2

Excel使用56种颜色的调色板中的颜色(在Excel 2007/2010中可能更多)可以使用工具/选项/颜色进行更改。

您可以从一个工作簿复制颜色到另一个使用:

Workbook1.Colors = Workbook2.Colors 

通过复制调色板,你当然会影响到所有的UI元素的颜色在目标工作簿,不只是范围你复制。

0

它这样工作,propety Workbook.Colors不在那里。愚蠢的声明为我做了这份工作

wb2.set_Colors(Missing.Value, wb.get_Colors(Missing.Value)); 

谢谢大家的回复。

+0

这是因为您使用的是.NET 3.5/VSTO 3.0或以前版本。如果是这种情况,请安装并引用Microsoft.Office.Interop.Excel.Extensions PIA,以便您不需要调用类似方法的属性(如上所述)。如果使用VSTO 4 +,这不会成为问题。 – 2011-03-24 04:35:03

相关问题