コモンダイアログの保存について

解決


ゴン  2003-10-30 19:48:03  No: 109576

コモンダイアログの名前をつけて保存を使って、
テキストファイルの新規作成をしたいのですが、
""の部分がよくわかりません。
誰か教えてください。  Cdlg1=コモンダイアログのオブジェクト名です。

Private Sub Command1_Click()
    Open "" For Output As #1
    Print #1, Format(Now, "general date"); Text1.Text
    Close #1
    
    Cdlg1.Filter = "テキストファイル(*.txt)|*.txt" & _
                   "すべてのファイル(*.*)|*.*"
    Cdlg1.FilterIndex = 1
    Cdlg1.ShowSave
    
End Sub


とろ  2003-10-30 20:36:52  No: 109577

# この質問は CommonDialog とは全く関係ないと思いますが...

多分、現在日時と Text1.Text の内容を書き出す
ファイルのパスを指定します。

 Open "C:\Log.txt" For Output As #1
 Print #1, Format(Now, "general date"); Text1.Text
 Close #1

のようにして処理を行えば、
(Text1の中に abc と打ち込んであったとすると)
C:\Log.txt というファイルが作成されて、
中身は
2003/10/30 11:20:34abc
という感じです。


とろ  2003-10-30 20:39:28  No: 109578

# 訂正

CommonDialog で指定したファイルに出力したということですね。

Private Sub Command1_Click()
    
    Cdlg1.Filter = "テキストファイル(*.txt)|*.txt" & _
                   "すべてのファイル(*.*)|*.*"
    Cdlg1.FilterIndex = 1
    Cdlg1.ShowSave
    
    Open Cdlg1.FileName For Output As #1
    Print #1, Format(Now, "general date"); Text1.Text
    Close #1
End Sub

みたいな感じにします。


ゴン  2003-10-30 21:02:03  No: 109579

テキストファイルとして保存されないんですがどうしてでしょうか?
アプリケーション指定しないと開けない状態での保存になります

Private Sub Command1_Click()

    Cdlg1.Filter = "テキストファイル(*.txt)|*.txt" & _
                   "すべてのファイル(*.*)|*.*"
    Cdlg1.FilterIndex = 1
    Cdlg1.ShowSave
    
    Open Cdlg1.filename For Output As #1
    Print #1, Format(Now, "general date"); Text1.Text
    Close #1
    End
    
End Sub


KG  2003-10-30 21:54:08  No: 109580

こんにちはゴンさん
保存したファイルの拡張子は.txtになってますか?

なかったらコモンタイアログでの保存ファイル名に
.txtをつけていないのでは無いでしょうか?


ゴン  2003-10-30 22:17:59  No: 109581

とろさん&KGさんありがとうございました。

今、先生からexeファイル渡されて、
同じように作るように指示されたんですが、
その渡されたファイルでは、
拡張子なしで保存しても
テキストファイルになるんですが、
何か方法があるんでしょうか?


KG  2003-10-30 23:11:45  No: 109582

拡張子指定なしで保存した場合に「.txt」をつけてあげればいいと思います。

Private Sub Command1_Click()
    Dim SaveFile As String
・・・中略)
    Cdlg1.ShowSave
    
    If Right$(4, Cdlg1.filename) = ".txt" Then
        SaveFile = Cdlg1.filename
    Else
        SaveFile = Cdlg1.filename & ".txt"
    End If

    Open SaveFile For Output As #1
・・・中略)
End Sub

拡張子が「.txt」の場合だけに限りますが、こんな感じでも
出来るかと思います。|@_@;


ゴン  2003-10-30 23:21:06  No: 109583

ありがとうございます!!


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

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






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