2011年6月1日水曜日

[1]
//テンプレートの高さ幅を保存

Excel.Range rangeA;
//テンプレート分用意する
double[] RowHeight = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13 };
for (int i = 0; i < RowHeight.Length; i++)
{
rangeA = (Excel.Range)oSheet.Cells[i+1, 1];
RowHeight[i] = GetExcelSize(rangeA.RowHeight, 0);
System.Runtime.InteropServices.Marshal.ReleaseComObject(rangeA);
}
//テンプレート列分用意
double[] ColWidth = { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13 };
for (int i = 0; i < ColWidth.Length; i++)
{
rangeA = (Excel.Range)oSheet.Cells[1, i+2];
ColWidth[i] = GetExcelSize(rangeA.ColumnWidth, 0);
System.Runtime.InteropServices.Marshal.ReleaseComObject(rangeA);
}
[2]取得関数
private double GetExcelSize(object value, double defaultvalue)

{
double result = 0;
string strvalue = value.ToString();
if(Double.TryParse(strvalue,out result) == false)
{
result = defaultvalue;
}
return result;
}
[3]
//ペースト ※最初の列行は外す

if ((rowstart == 1 && colstart == 2) == false)
{
range1 = oSheet.get_Range(range1, range2);
range1.PasteSpecial(Excel.XlPasteType.xlPasteAll, Excel.XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, false);
}
[4]もしくは1セルのみ選択
range1 = (Excel.Range)oSheet.Cells[rowstart, colstart];

range2 = (Excel.Range)oSheet.Cells[rowend, colend];range1 = (Excel.Range)oSheet.Cells[rowstart, colstart];

range2 = (Excel.Range)oSheet.Cells[rowstart, colstart];

0 件のコメント:

コメントを投稿