昨日複数のテキストファイルを・・・って質問したものです。
下記のように記述して昨日はうまく行ったのですが、今日はPCがフリーズ?状態になります。
何が原因でしょう?
Private Sub Form_Load()
Dim s As Long
Dim f As Long
Dim g As Long
Dim k As Long
File1.Path = tmpF & dteDate
File1.Pattern = "*.jpg"
For s = 0 To File1.ListCount - 1
Image1(s) = LoadPicture(File1.Path & "\" & File1.List(s))
Next s
On Error Resume Next
Dim h As Long
File2.Path = sendF & dteDate
File2.Pattern = "*.txt"
g = 1
For h = 0 To File2.ListCount - 1
Dim intFileNo As Integer
Dim strTextLine As String
Dim strTxtDat As String
intFileNo = FreeFile
Open sendF & dteDate & "\t_" & t_code & "_" & dteDate & "_0" & g & ".txt" For Input As #intFileNo
Do While Not EOF(intFileNo)
Line Input #intFileNo, strTextLine
strTxtDat = strTxtDat & strTextLine & vbCrLf
Loop
Text1(k).Text = strTxtDat
Close #intFileNo
strTxtDat = ""
g = g + 1
k = k + 1
Next h
End Sub
という記述です。
上のほうは画像を読み込んでいます。
どなたかよろしくお願いします。
それはテキストファイルの読み込み処理に時間がかかりすぎるからだそうです。
ファイル読み込み時、OpenのタイプをBinaryにして、
文字列変数にファイルの内容を保存するようにしてみてください。
サンプルコードは忘れたので、ヘルプを読みながらやってみてください。
読み込もうとしているファイルがちゃんと存在していることを確認しましたか? それとファイル名も。
おそらくopen 〜で読もうとしているファイル名に dteDate っていう変数
がありますが、もしかして今日の日付のことじゃないですよね?
読み込むべきファイルが見つからないため、エラーになるところが
on error resume next のせいでエラーを無視して line input を実行
するがファイルは読み込めていないので eof にならないで While が
無限Loopしているような気がする...
昨日動いたのに今日動かないのは、日付が変わったので読み込むべき
ファイルが昨日と今日とで違う.....というのが原因と想像できますが
どうでしょうか。
たかみちえさん・究極とらおさん
ありがとうございました。
ご指摘いただいたとおりでした。
無事表示できるようになりました。
ツイート | ![]() |