VB初心者です。
VBで作ったフォーム内に入力した値を
コマンドボタンを押すことでCSV形式にする方法を教えてください。
また、保存する場所や名前を設定できるようにしたいです。
よろしくお願いします。
> VBで作ったフォーム内に入力した値を
> コマンドボタンを押すことでCSV形式にする方法を教えてください。
CSVはカンマ区切りのテキストファイルです。
普通にテキストファイルを保存するように
1)Openステートメントでファイルを開き
2)Print#メソッドでデータを書き込み
3)Closeステートメントでファイルを閉じ
れば作れます。
> また、保存する場所や名前を設定できるようにしたいです。
コモンダイアログコントロールを使うのが手っ取り早いと思います。
>コマンドボタンを押すことでCSV形式にする方法を教えてください。
CSVは、ただのカンマ区切りのテキストですから、
そのように組めばいいかと。
>保存する場所や名前を設定できるようにしたいです。
コモンダイアログコントロールとファイルシステムオブジェクトあたりを使って、
そのように組めばいいかと。
こんにちは。
まずは、フォームにどのような形で値が入力されるかです。
data1,data2,data3
などのように入力されるのでしたら、入力された値をそのままファイルに出力すればいいですし、
それ以外の形式なら、カンマ区切りにする処理が必要になります。
保存する場所や名前を設定するようにするには、
・テキストボックスなどで、保存するパス名を入力させる
・CommonDialogを出して、保存する場所と名前を指定させる
など、いろいろなやり方があります。
次に、ファイルを保存するには、
1.ファイルのオープン(Open)
2.データの書き出し(Write)
3.ファイルのクローズ(Close)
以上の処理が必要になります。
みなさんありがとうございます。
参考に作成してみたのですがどうもうまくいきません。
下のプログラムのどこが間違っているか教えていただけないでしょうか?
Option Explicit
'概要:各テーブルのデータをCSVファイルに書き込む
Private Sub Command1_Click()
Dim strFileName As String
Dim WriteData As String
On Error GoTo Err_subExportFile
'ファイル名の取得
strFileName = CommonDialog1.FileName
'ファイルのオープン
Open strFileName For Output As #1
WriteData = Text1
Write #1, WriteData
MsgBox "書き込みが正常に終了しました", vbInformation
Exit_subExportFile:
Close #1
Exit Sub
Err_subExportFile:
MsgBox "書き込みに失敗しました", vbCritical
MsgBox "Error:" & Err.Number & Err.Description, vbCritical
Resume Exit_subExportFile
End Sub
そもそも、実際のエラーはどこで起こってどんなメッセージが出てるんでしょうか?
それが分からないとなんとも言えませんが…。
> 'ファイル名の取得
> strFileName = CommonDialog1.FileName
これ以前の段階でコモンダイアログを使ってFileNameは取れているんでしょうか?
> 'ファイルのオープン
> Open strFileName For Output As #1
ファイル名のパスは通ってますか?
ただ質問するだけでなく、ステップ実行などを使って変数に期待する値が入ってるか、
期待通りの動作をしてるかどうか調べることも必要です。
いろいろ変更している間にできたようです。
nanashiさん、Sayさん、みっちーさん、どうもありがとうございました。