2011-08-23 42 views
0

林生成使用Microsoft.Office.Interop.Excel;得到一个单元格的格式在Excel 2010模板

我需要从模板中的细胞抢格式并将其应用在随后的细胞基于代码模板的Excel 2010年报告在列下。为了简化,我希望我的细胞是正确的。也许它更快地在代码中明确指定,但我更喜欢如果我可以在模板上进行格式化,而不是硬编码特定的风格。

我正在使用 workSheet.get_Range("L2", Type.Missing).get_Resize(1, 1)来选择单元格。 任何建议非常感谢。

+0

问题标题与其内容的关系如何? – NirMH

+0

究竟是什么问题?阵列甚至会进入它的什么地方? –

+0

我基本上需要一个访问器来格式化单元格@NirMH。使用'workSheet.get_Range(“L2”,Type.Missing).get_Resize(1,1)'我已经能够访问单元格用于其他目的,但是这可能不适用于这种情况@Mr。失望。 –

回答

2

我不确定在哪里get_Range()进入图片。我通常直接得到Range

我觉得你以后有什么是值得这样的效果(填充代码有那么你可以看到变量名):

Dim oExcel As Object 
Dim oBook As Excel.Workbook 
Dim oSheet As Excel.Worksheet 
Dim AlignType As Long 

    oExcel = CreateObject("Excel.Application") 
    oBook = oExcel.Workbooks.Open("MySheet.xlsx") 
    oSheet = oBook.Worksheets(1) 
    AlignType = oSheet.Range("G1").HorizontalAlignment 
    oSheet.Range("G1:G" & oSheet.Range("G1").End(Excel.XlDirection.xlDown).Row).HorizontalAlignment = AlignType 

变化范围,以满足您自己的代码。

基本上,读取值(这是一个枚举,所以你不需要得到实际的设置,只是它的数量),并将其写回到其他单元格。您可以一步完成所有工作,为了清晰起见,我将其分开。

+0

经过测试和工作。非常感谢! '.Horizo​​ntalAlignment'就是我一直在寻找的!我认为'Range()'是VBA,'get_range()'是c#。再次感谢 –

+0

@robot没问题。我在C#中做到了,但实际上却很高兴。 – jonsca