C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.56977 の関連記事表示

<< 0 >>
■56977  Re[1]: C#でExcelシートに入力されている最終行を取得する
□投稿者/ 魔界の仮面弁士 -(2011/02/08(Tue) 03:20:36)
    No56974 (C#入門者 さん) に返信
    > ・内容:C#でExcelに接続後
    Marshal.ReleaseComObject は?

    > Excelシートに入力されている一番最後の行数を取得したい。
    SpecialCells メソッドで xlCellTypeLastCell を指定すると言う手があります。
    ただし、入力後に値を削除した後でも、以前の最終セルが返されます。

    値を削除したセルを含めたくないなら、UsedRange プロパティを使ってみてください。


    > *今回やりたいことは、VBAで言うところの MsgBox SheetName.Cells(65563, 1).End(xlUp).Row です。
    それだと、一列目が未使用で、二列目以降からデータが記載されていたような場合に対応できないかと。


    > wb = ExcelApp.Workbooks.Open(ExcelFile,
    これだと、Workbooks の解放に問題が生じる可能性が高くなります。

    COM を扱う際に、2つ以上の「.」が続くような記述は避けた方が良いかと思いますよ。
    (名前空間を指定するための「.」は構いませんが)


    > rng = ws.get_Range("A65536", ExcelApp.ActiveCell.get_End(Excel.XlDirection.xlUp));
    Active〜系プロパティは多用しないようにしましょう。コードが曖昧になります。
記事No.56974 のレス /過去ログ95より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -