- ベストアンサー
VBSでエクセル内の行数を取得する方法
VBS初心者です。よろしくお願い致します。 VBSでエクセル内のデータの行数を取得する方法を教えて下さい。 セル1 セル2 セル3 セル4 123 234 875 ads あい うえ 458 444 上記がエクセルの内容だとしたら、3行という結果が欲しいのです。 どうぞよろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>自分でエクセル内のデータを1行にして再度実行すると、値はやはり4と返してきます 書式か何か残ってるんじゃないでしょうか >objExcel.Visible = false true にして実行してみると判るかと思いますが、 エクセルを非表示するという設定を(明示的に)しています。
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
例えば、こんな感じ ------------------------------------- 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
補足
ご回答ありがとうございます。 BLUEPIXY様に教えて頂いた通りに実装しましたところ、思い通りの動作を致しました。 しかし以下のような現象が発生致します。 最初にエクセル内に4行のデータがあり、実行すると4と値を返してきます。自分でエクセル内のデータを1行にして再度実行すると、値はやはり4と返してきます。最初に取得したデータをどこかで保持しているのでしょうか? また、 objExcel.Visible = false は何を意味しているのでしょうか?自分なりに調査したのですが、わかりませんでした・・・。 追加の質問で申し訳ございませんが、どうぞよろしくお願い致します。
お礼
御礼が遅くなり大変申し訳ございません。 おかげさまで、思い通りの実装ができました。ご指摘の通り、書式が残っておりました。 本当にありがとうございました。