Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


28024 / 76732 ←次へ | 前へ→

【54020】while分を使用した場合の最終行の処理について
質問  さや  - 08/2/20(水) 11:32 -

引用なし
パスワード
   テキスト(input)を読み込み80行で改行するしてテキスト(out.txt)出力する
VBAをEXCELで作成しました。

しかし、out.txtでは、80行づつ改行されるのですが、
80行、160行、240行のデータをインポートする場合は
最終行に80行の半角スペースが入ったデータが出力されます。
きっとEOFを読み込んでいるため処理が動いて出力されているものと思われます。
これを出ないようにVBAを変更する場合、どこを直せばよいでしょうか?

どうぞよろしくお願いします

------------------------------------------------------------------------
Private Sub CommandButton2_Click()
Dim nYLINE   As Integer
  Dim IN_FNO%, OUT_FNO%
  
  Dim strREADBUF As TYPERecord

  IN_FNO = FreeFile
  Open ActiveWorkbook.Path & "\input.txt" For Random Access Read As #IN_FNO Len = 80
  

  OUT_FNO = FreeFile
  Open ActiveWorkbook.Path & "\out.txt" For Output As #OUT_FNO
  
  
  n = 1           
  
  While EOF(IN_FNO) = ture
   
    Get #IN_FNO, n, strREADBUF  
    Print #OUT_FNO, (strREADBUF.gyo)
    n = n + 1
    
  Wend

  Close #IN_FNO            
  Close #OUT_FNO

  Shell "notepad.exe " & ActiveWorkbook.Path & "\out.txt", vbNormalFocus
End Sub
-----------------------------------------------------------------------

標準モジュール
-----------------------------------------------------------------------
Type TYPERecord      

  gyo  As String * 80 '
  
End Type
-----------------------------------------------------------------------
2 hits

【54020】while分を使用した場合の最終行の処理について さや 08/2/20(水) 11:32 質問
【54021】Re:while分を使用した場合の最終行の処理に... VBWASURETA 08/2/20(水) 11:49 発言
【54022】Re:while分を使用した場合の最終行の処理に... さや 08/2/20(水) 11:58 質問
【54039】Re:while分を使用した場合の最終行の処理に... ichinose 08/2/20(水) 22:21 発言

28024 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free