csvファイルのせくせい


222  2007-06-28 22:40:08  No: 99121

VB5で  CSVファイルを作成しようとおもいます。
Private Sub Command1_Click()
    Dim STRLOGPATH As String
    Dim FILENO1 As Long
    STRLOGPATH = App.Path & Format(Date, "YYYYMMDD") & ".csv"
    FILENO1 = FreeFile
    Open STRLOGPATH For Append As #FILENO1

    Print #FILENO1, "A,B,C,D,E,F,G,H "
    Close #FILENO1
End Sub

これで一応作成はできましたけど、他に方法はありませんか?
レコードが多い時もこの方法で作るしかないんでしょうか?
よろしくお願いします。


ささき  2007-06-28 22:51:52  No: 99122

関数化してしまえばよろしいかと

'*********************************************************************
' 機    能  : ファイル出力する(追記書込み)
' 引 き 数  : strPath 出力先
'           : strData 出力データ
'*********************************************************************
Public Sub rOutTextFile(strPath As String, strData As String)
    
    On Error GoTo err_handler
    
    Dim intFNum       As Integer
    
    intFNum = FreeFile
    
    Open strPath For Append As #intFNum
    
    Print #intFNum, strData
    
end_proc:
    Close #intFNum
    Exit Sub
err_handler:
    MsgBox Err.Description, vbCritical
    Resume end_proc
End Sub


通り  2007-06-28 22:56:33  No: 99123

>レコードが多い時もこの方法で作るしかないんでしょうか?

関数化などは設計の段階なので、好きにすればよいかと思いますが、

『この方法で作るしかないんでしょうか?』が修飾している『方法』についての説明がないと、
回答者としては何がネックになっているのか判別に困ることがあります。


tuyu  2007-06-28 23:52:02  No: 99124

「レコードが多い時」がどう言う状況にもよるのでは?
配列に入っているデータなら  For 〜 Next  文で出来ますが。

Dim Data(20) As String
Dim i As Integer
Dim fp As Integer  '配列の数 fp が20なら、0〜19

For i = 0 to fp - 2             '0〜18
   Print #FILENO1,Data(i) & ",";
Next i

Print #FILENO1, Data(fp - 1)    '19


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加