上書き保存するには?

解決


ひぉ  2001-12-20 15:33:36  No: 103894

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


GHz  2001-12-23 07:32:16  No: 103895

「開く」、「名前をつけて保存」でファイルの名前を記録しておく
「新規作成」が押されたときににファイルの名前を""にしておく
「上書き保存」が押されたときに
ファイルの名前が""なら「名前をつけて保存」を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-23 07:38:17  No: 103896

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


初心者さん  2004-11-21 06:20:28  No: 103897

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

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


初心者さん  2004-11-21 06:23:44  No: 103898

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


マグ  2004-11-21 20:59:23  No: 103899

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

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

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

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


初心者さん  2004-11-21 22:36:29  No: 103900

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


初心者さん  2004-11-21 22:37:12  No: 103901

あ、解決です☆


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

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






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