で書いたやつをちょっと書き直しただけ。
ソースはここ。
using System; using Microsoft.Office; using Microsoft.Office.Core; using Excel; namespace Sample { /// <summary> /// Class1 の概要の説明です。 /// </summary> class Class1 { /// <summary> /// アプリケーションのメイン エントリ ポイントです。 /// </summary> [STAThread] static void Main(string[] args) { //こういうときローカル(関数内)関数欲しいよなー。 //C#1.1でスマソ。 //っつかλ欲しい。 string path = 0 < args.Length ? args[0] : null; int keyCellIndex = 1 < args.Length ? int.Parse(args[1]) : 1; int countCellIndex = 2 < args.Length ? int.Parse(args[2]) : 1; int rowLimit = 3 < args.Length ? int.Parse(args[3]) : 0; Application app = new Excel.ApplicationClass(); Workbook wb = app.Workbooks.Open(path ,Type.Missing, Type.Missing, Type.Missing ,Type.Missing, Type.Missing, Type.Missing ,Type.Missing, Type.Missing, Type.Missing ,Type.Missing, Type.Missing, Type.Missing ,Type.Missing, Type.Missing); wb.Application.Visible = true; Worksheet ws = (Worksheet)wb.ActiveSheet; for (int i = 1, j = 0, preCellValue = 0; i <= rowLimit; i++) { int cellValue = int.Parse((((Range)ws.Cells[i, keyCellIndex]).Text).ToString()); if (preCellValue != cellValue) { j = 0; preCellValue = cellValue; } ws.Cells[i, countCellIndex] = ++j; } wb.Save(); app.Quit(); } } } |
0 件のコメント:
コメントを投稿