アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になっております。
VB2005にてまず大元のエクセルファイルを分割し、別ツールにて分割したファイルを読み込み、その後に読み込んだファイルを処理をしようとしています。

先に質問させていただき、分割はVBAコードを改変することで可能となりました。
http://oshiete1.goo.ne.jp/qa3739293.html(以前の質問です。)


問題は、その分割したファイルを当方の別ツールにてStreamReaderで読み込んだ際に起こります。

20行づつに分割したエクセルファイルでは、20行目以降には文字列は入っておりませんが、StreamReaderで読み込むと20行以上(もしくは以下)読み込んでしまい、ファイル内の情報を正しく読み取ってくれません。

ファイルの作成方法に問題があるのでしょうか。
それとも、StreamReaderではなく、別の方法で最終行までの文字列を読み込んだほうがいいのでしょうか。

ご教示いただければ幸いに思います。
宜しくお願いいたします。


以下、作成したコードです。

~分割するコード~

Dim xlApp As Object = CreateObject("Excel.Application")
Dim xlwb As Microsoft.Office.Interop.Excel.Workbook = xlApp.Workbooks.Open(TextBox1.Text)
Dim xlsheet As Microsoft.Office.Interop.Excel.Worksheet

xlsheet = xlwb.Worksheets("Sheet1")

Dim d As String
d = xlsheet.Range("A65536").End(Excel.XlDirection.xlUp).Row
Dim sh1 As Excel.Worksheet
sh1 = xlwb.Worksheets("Sheet1") '元データシート
Dim rs As Integer = 20
Dim i As Integer
Dim m As String = 1

MsgBox(d + "件ありました(=゜ω゜)ノ")

'分割フォルダを作成
System.IO.Directory.CreateDirectory(System.IO.Directory.GetCurrentDirectory() + "\分割フォルダ")

Dim s As Integer = 1
For i = 1 To d Step rs

Dim dire As String = (System.IO.Directory.GetCurrentDirectory())
Dim xlFilePath As String = (dire + "\分割フォルダ\" + m + "つ目.csv")

Dim xlApp3 As Object = CreateObject("Excel.Application")
Dim xlwb3 As Microsoft.Office.Interop.Excel.Workbook = xlApp3.Workbooks.add
Dim xlsheet3 As Microsoft.Office.Interop.Excel.Worksheet
xlApp3.DisplayAlerts = False


xlsheet3 = xlwb3.Worksheets("Sheet1")

sh1.Range(sh1.Cells(s, "A"), sh1.Cells(s + rs - 1, "B")).Copy()
xlsheet3.Paste()

xlsheet3.SaveAs(xlFilePath)
xlwb3.Close(True)

xlApp3 = Nothing
xlwb3 = Nothing
xlsheet3 = Nothing


m += 1

s = s + rs

Next i

MsgBox("分割OK♪")

xlwb.Close(True)

xlApp = Nothing
xlwb = Nothing
xlsheet = Nothing


~ファイルを読み込むコード~

Dim hReader As New System.IO.StreamReader(FileName)
Dim lCount As Int64

While (hReader.Peek() >= 0)
hReader.ReadLine()
lCount += 1
End While

MsgBox(lCount)

hReader.Close()

A 回答 (1件)

よくはわからないですが、Excelファイルに20行ずつ分割しても、


実際のシートの行数は6万行とかあります。
その辺の問題ではないのでしょうか?

例えばテキストファイル等にしてみたりは無理ですか?
経験がないので参考にならないかも知れませんが。

http://jeanne.wankuma.com/tips/stream/readtoend. …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!