4.[名前を付けて保存]ダイアログボックスの使用方法(28_Dia_04) (旧、SampleNo.078) |
1.[名前を付けて保存]ダイアログボックスを表示しファイル名を取得しファイルを保存する 2. 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86 Option :[Compare Text] [Explicit On] [Infer On] [Strict On] Imports :追加なし 参照設定:追加なし 使用コン:Button1 トロール: このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので) 必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい) |
1.[名前を付けて保存]ダイアログボックスを表示しファイル名を取得しファイルを保存する |
よく見かけるサンプルは、オプションを色々設定して下記のようにファイル名を取得するところまでしか紹介されていない。 If SaveFileDialog1.ShowDialog() = DialogResult.OK Then MessageBox.Show(SaveFileDialog1.FileName) End If 従って、後は、ダイアログボックスで保存処理をしてくれるものと勘違いされる方もいるので...。 ファイルを開くダイアログと同様に単に保存するファイル名だけをユーザーに設定してもらうためのもので保存処理やファイルの表示等の 処理は、プログラムで作成しなければなりません。 実際に使用する場合は、下記のような感じになるかと思います。 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click '[名前を付けて保存]ダイアログボックスを表示しファイル名を取得しファイルを保存する 'SaveFileDialog クラスのインスタンスを作成(ツールボックスから貼り付ける場合は必要ありません) Dim SaveFileDialog1 As New SaveFileDialog Dim saveFileName As String = "SaveTest.txt" 'ダイアログボックスの初期設定(基本的にファイルを開くダイアログボックスの設定と同じです) '従って解説は省略します。(必要項目は下記に追加して下さい。) With SaveFileDialog1 .InitialDirectory = Application.StartupPath .Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" .FilterIndex = 1 .Title = "名前を付けて保存のダイアログボックス" .CreatePrompt = True .OverwritePrompt = True .AddExtension = True .CheckPathExists = True .FileName = saveFileName End With '[保存]のボタンがクリックされファイル名の拡張子が txt の場合ファイルの保存処理をする If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK And _ System.IO.Path.GetExtension(SaveFileDialog1.FileName) = ".txt" Then saveFileName = SaveFileDialog1.FileName Try Using sw As New System.IO.StreamWriter(saveFileName, False, System.Text.Encoding.Default) '書き込み sw.Write(TextBox1.Text) MessageBox.Show(saveFileName & " で保存しました") End Using Catch ex As Exception MessageBox.Show(ex.Message) End Try End If SaveFileDialog1.Dispose() End Sub |
2. |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
ダイアログボックス Dialog Box 名前を付けて保存のダイアログボックス |