[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2004/11/10(Wed) 21:37
投稿者名:アルゼイド
Eメール:
URL :
タイトル:
ファイルの保存
初めて投稿します。
Visual Basic 6.0を使ってtxtファイルを読み込んで計算し、結果を
txtファイルで出力するプログラムを作っているのですが、ファイル
を出力するときに問題があってわからないので投稿しました。
コモンダイアログを使ってリストからtxtファイルに出力しているの
ですが、コモンダイアログを開くと最初の表示は計算するために読み
込んだファイルの場所に読み込んだファイル名になりますよね。
普通は上書きされないために名前を変えるか保存する場所を変えて
保存するわけですが、そのコモンダイアログをキャンセルで閉じても
なぜか保存されてしまうのです。
そのために、保存するためにコモンダイアログを開いた後に保存をキャンセル
すると計算するために読み込んだファイルが上書きされて消えてしまうという
問題がおきてしまうのです。
これを防ぐためにはどのようにすればいいのでしょうか?
よくわからない文ですみませんが、分かる人がいたら教えてください。
よろしくお願いします。

投稿時間:2004/11/10(Wed) 22:01
投稿者名:java.lang.Nullpo
Eメール:
URL :
タイトル:
Re: ファイルの保存
> 保存するわけですが、そのコモンダイアログをキャンセルで閉じても
> なぜか保存されてしまうのです。
> そのために、保存するためにコモンダイアログを開いた後に保存をキャンセル
> すると計算するために読み込んだファイルが上書きされて消えてしまうという
> 問題がおきてしまうのです。

CancelError = True に設定しますと、
キャンセルが押下された時にエラーが発生するようになります。
これでやれば良いかと思います。

# CommonDialogコントロールを使っていればですが...。

投稿時間:2004/11/10(Wed) 22:05
投稿者名:KG
Eメール:
URL :
タイトル:
Re: ファイルの保存
大体の見当はつきそうな気もするのですが。(CancellErrorの設定をしてないとか)


コードを見ないことには、なんともいえません。
差し支えなければ見せていただけないですか?

投稿時間:2004/11/10(Wed) 22:07
投稿者名:KG
Eメール:
URL :
タイトル:
Java.lang.Nullpoさんと同じです。
レスがかぶってしまった|@_@;

投稿時間:2004/11/10(Wed) 23:52
投稿者名:アルゼイド
Eメール:
URL :
タイトル:
Re: 一応コードを・・・ここの部分でしょうか・・
Private Sub Command3_Click()
    List2.Clear
    List2.AddItem "  " & "10.0" & "  " & Text11.Text
    List2.AddItem "   " & "9.0" & "  " & Text12.Text
    List2.AddItem "   " & "8.0" & "  " & Text13.Text
    List2.AddItem "   " & "7.0" & "  " & Text14.Text
    List2.AddItem "   " & "6.0" & "  " & Text15.Text
    List2.AddItem "   " & "5.0" & "  " & Text16.Text
    List2.AddItem "   " & "4.0" & "  " & Text17.Text
    List2.AddItem "   " & "3.0" & "  " & Text18.Text
    List2.AddItem "   " & "2.0" & "  " & Text19.Text
    List2.AddItem "   " & "1.0" & "  " & Text20.Text
   selectkey = MsgBox("セーブしますか?", 4 + 48, "セーブ")
  Select Case selectkey
   Case vbYes
   On Error GoTo cmd3_click_err
   With CommonDialog1
       .Flags = cdlOFNOverwritePrompt
       .Filter = "テキストファイル(*.txt)|*.txt|全てのファイル(*.*)|*.*"
       .ShowSave
       ファイル番号 = FreeFile
       Open CommonDialog1.FileName For Output As #ファイル番号
        For i = 0 To List2.ListCount - 1
         Print #ファイル番号, List2.List(i)
        Next i
       Close #ファイル番号
   End With
    Exit Sub
cmd3_click_err:
    Case vbNo
  End Select
    
End Sub


List2が保存するデータです。

投稿時間:2004/11/10(Wed) 23:41
投稿者名:アルゼイド
Eメール:
URL :
タイトル:
Re: ファイルの保存
java.lang.Nullpoさん、KGさん。
早速のレスありがとうございます。
さっそく明日調べてみます。学校でやっているので・・。
私一人でやっていて誰かに相談しながらやることができないので
またわからなくなったら聞きに来ます。
そのときはよろしくお願いします。