• ベストアンサー

VBSでエクセル内の行数を取得する方法

VBS初心者です。よろしくお願い致します。 VBSでエクセル内のデータの行数を取得する方法を教えて下さい。 セル1 セル2 セル3 セル4 123   234   875   ads あい  うえ  458   444 上記がエクセルの内容だとしたら、3行という結果が欲しいのです。 どうぞよろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>自分でエクセル内のデータを1行にして再度実行すると、値はやはり4と返してきます 書式か何か残ってるんじゃないでしょうか >objExcel.Visible = false true にして実行してみると判るかと思いますが、 エクセルを非表示するという設定を(明示的に)しています。

tora0125
質問者

お礼

御礼が遅くなり大変申し訳ございません。 おかげさまで、思い通りの実装ができました。ご指摘の通り、書式が残っておりました。 本当にありがとうございました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

例えば、こんな感じ ------------------------------------- Set objExcel = CreateObject("Excel.Application") objExcel.Visible = false objExcel.Workbooks.Open("C:\work\RowCount.xls") rc = objExcel.Sheets("Sheet1").UsedRange.Rows.Count WScript.Echo rc objExcel.Workbooks.Close Set objExcel = Nothing

tora0125
質問者

補足

ご回答ありがとうございます。 BLUEPIXY様に教えて頂いた通りに実装しましたところ、思い通りの動作を致しました。 しかし以下のような現象が発生致します。 最初にエクセル内に4行のデータがあり、実行すると4と値を返してきます。自分でエクセル内のデータを1行にして再度実行すると、値はやはり4と返してきます。最初に取得したデータをどこかで保持しているのでしょうか? また、 objExcel.Visible = false は何を意味しているのでしょうか?自分なりに調査したのですが、わかりませんでした・・・。 追加の質問で申し訳ございませんが、どうぞよろしくお願い致します。

関連するQ&A