- ベストアンサー
VB6 テキストファイルへの保存方法
- VB6でテキストボックスに入力したデータを名前を指定してテキストファイルに保存する方法が分かりません。
- 作成したコードが正しく動作しないので、アドバイスをいただきたいです。
- 保存する際に同名のファイルがある場合の処理についても教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>何故かうまくいきません どのようにうまく行かないのか、質問には、内容を説明するものだ。 予想では、説明も出来ない、少しも動かないのでは。 ーーー >System.Io.StreamWriter これは、VB.NET系のファイルIOの書き方ではないですか。VB6でこんな書き方できることを確認してますか。 ーー 何がしたいのか。質問のコードでは、テキストボックスに入れたデータを1つテキストファイルに書いて終わりになるのでは。 それで良いの。 普通は数個・複数個のレコードがあるのでは。また項目も複数あるのでは。 質問には、書き出したいデータ例でも挙げるべきだよ。 例 モ帳に表示したときに下記のようになるように、とか 吉田 三郎 奈良市 26 木村 義男 名古屋市 27 ・・といったような ーー ファイル指定も、このダイアロウグを使うのではなく、普通、ファイルを開くほうのダイアロウグか、直接文字列指定するのでは。 ーー VB6で sw.Write (textbox1.Text) sw.Close () なんて出来ますか。 ーー 勉強を十分せず、何処かからコードを拾ってきて、気の向くままにつなげて、うまく行きません、で直ぐ他人に頼って質問になってませんか。質問する前に基礎から勉強するべきレベルでは。 ーー こちらはVB6はテストできないので、 VBAでできるだけ動くようにいじくってみた。 書きは質問者が望むもの(不明だが)を作っていると思っているわけではないからね。 ーー ユーザーフォームにテキストボックス1つとコマンドボタンを1つ貼り付けた。こういう前段階も質問異説明しておくべきだと思う。 Private Sub CommandButton1_Click() Dim StrFN As String 'テキストファイルを上書きで保存する StrFN = Application.GetSaveAsFilename("", "測定データ(*.txt),*.txt,全てのファイル(*.*),*.*", , "測定データファイル名指定") 'ダイアログ表示 If Dir(StrFN) <> "" Then If vbYes <> MsgBox("同名ファイルがあります。" & vbLf & _ "上書きしますか?", vbYesNo) Then Exit Sub End If End If MsgBox StrFN Open StrFN For Output As #1 '書込み Write #1, TextBox1.Text Close #1 End Sub 動くことは動いた。テキストボックスに入れた1語だけ書き出した。 旧いVBではWrite #はダブルコーテーションでくくって、テキストが書き出されるステートメントだった。 但し、IOの書き方は色々な形があります。 http://www.red.oit-net.jp/tatsuya/vb/Open.htm ーー 質問と似ている http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard30.htm は2002、2003,2005となっているでしょう ーー FSO利用 http://www.happy2-island.com/vbs/cafe02/capter00207.shtml
お礼
ありがとうございました。 いちから勉強します。ご指摘ありがとうございました。