上書き保存するには?

解決


ひぉ  2001-12-20 06:33:36  No: 103894  IP: [192.*.*.*]

はじめまして。
テキストエディタを作ろうとしていますが、
「名前を付けて保存」のようなことは出来たのですが
「上書き保存」の方法が分かりません。
どなたかよろしくお願いします。

編集 削除
GHz  2001-12-22 22:32:16  No: 103895  IP: [192.*.*.*]

「開く」、「名前をつけて保存」でファイルの名前を記録しておく
「新規作成」が押されたときににファイルの名前を""にしておく
「上書き保存」が押されたときに
ファイルの名前が""なら「名前をつけて保存」をCall
ファイルの名前が""でないならそのファイルの名前で保存すればいいと思います。
コード書いときます
標準モジュールに
Public FileName As String

Formに
'「新規作成ボタン」
New_File_Click
FileName = ""
End Sub

'「開く」ボタン
Open_File_Click
With CommonDialog1
.DialogTitle = "開く"
.Filter = "テキスト文章 (*.txt;*.htm;*.html)|*.txt;*.htm;*.html|すべてのファイル(*.*)|*.*"
.ShowOpen
FileName = .FileName
'--------ここからOpenメソッド-------
End Sub

'「名前をつけて保存」ボタン
Save_File_Click
With CommonDialog1
.DialogTitle = "名前を付けて保存"
.Filter = "テキスト文章 (*.htm)|*.htm|すべてのファイル(*.*)|*.*"
.ShowSave
Fname = .FileName
'--------ここからOpenメソッド-------
End With
End Sub

'「上書き保存」ボタン
Uagaki_Save_Click
If FileName = "" Then Call Save_File_Click
If FileName <> "" Then 
Open FileName For Output As #
Print メソッド
Close #
End Sub

編集 削除
GHz  2001-12-22 22:38:17  No: 103896  IP: [192.*.*.*]

中にFnameになってるものがありますがFileNameの間違えです。
「開く」にEnd With書き忘れました。すみません。
あと変数名がFileNameだとできないかも知れないので変数名を変えてください。

編集 削除
初心者さん  2004-11-20 21:20:28  No: 103897  IP: [192.*.*.*]

すみません
私もテキストエディタを作っているのですが
上のコードでやってみたところ、エラーが出てダメでした。

もしかして.NET2003だからなのでしょうか?

編集 削除
初心者さん  2004-11-20 21:23:44  No: 103898  IP: [192.*.*.*]

度々スミマセン。
上の書き込みに追加なんですが
新規作成とありますが、
私の作っているもには新規作成を付けずに
そのままリッチテキストを付けています。

編集 削除
マグ  2004-11-21 11:59:23  No: 103899  IP: [192.*.*.*]

>もしかして.NET2003だからなのでしょうか?

Open FileName For Output As #
のソースが記述されているって時点で.NETではないと思います。
VB6ではないでしょうか?

私もテキストエディタを作った事があります。

そのときは「名前をつけて保存」を実行したときに保存したパスを取っておいて、
上書き保存するときにそのパスを使って保存させていました。
「開く」も実行されたときにパスを取っておくようにしたほうが良いです。
んでもって、
「名前をつけて保存」や「開く」を実行されていない場合、
上書き保存を選択できないようにしたほうが親切ではないかと思います。

編集 削除
初心者さん  2004-11-21 13:36:29  No: 103900  IP: [192.*.*.*]

ありがとうございます
よく考えて書いてみたら出来ました(^。^

編集 削除
初心者さん  2004-11-21 13:37:12  No: 103901  IP: [192.*.*.*]

あ、解決です☆

編集 削除