- 題名: SaveFileDialogで特定のファイルの種類を選択させない。
- 日時: 2008/03/04 17:51:54
- ID: 21560
- この記事の返信元:
- (なし)
- この記事への返信:
- [21561] Re[1]: SaveFileDialogで特定のファイルの種類を選択させない。2008/03/04 22:53:07
- ツリーを表示
はじめまして、引っ込んだ略と申します。
とりあえず、SaveFileDialogのFileOkイベントを使うとできそうです。
以下のコードで試してみてください。
# もし外れていたらごめんなさい。
# やじゅさんとタイミングが重なってしまいました・・・(汗
Public Class Form1
Inherits Form
Dim WithEvents m_sfd As New SaveFileDialog
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
MyBase.OnLoad(e)
m_sfd.InitialDirectory = Application.StartupPath
m_sfd.Filter = "Microsoft Office Excel 2003 ブック (*.xls)|(*.xls)|Microsoft Office Excel 2007 ブック (*.xlsx)|(*.xlsx)"
End Sub
' ↓FormをダブルクリックするとSaveFileDialogが開きます。
' ↓(ボタンを配置するのが面倒だったので・・・)
Protected Overrides Sub OnDoubleClick(ByVal e As System.EventArgs)
If m_sfd.ShowDialog() = Windows.Forms.DialogResult.OK Then
MsgBox("OK!! " + m_sfd.FileName)
Else
MsgBox("NG!! " + m_sfd.FileName)
End If
MyBase.OnDoubleClick(e)
End Sub
Private Sub m_sfd_FileOk(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles m_sfd.FileOk
If System.IO.Path.GetExtension(m_sfd.FileName) <> ".xls" Then
MsgBox(".xlsしか使えません")
e.Cancel = True
End If
End Sub
End Class
以上です。
引っ込んだ略と申します。
私のコードにミスがあったため、訂正いたします。失礼しました。
(前回投稿に削除キーを入れ忘れていました)
m_sfd.Filter = "Microsoft Office Excel 2003 ブック (*.xls)|(*.xls)|Microsoft Office Excel 2007 ブック (*.xlsx)|(*.xlsx)"
↓
m_sfd.Filter = "Microsoft Office Excel 2003 ブック (*.xls)|*.xls|Microsoft Office Excel 2007 ブック (*.xlsx)|*.xlsx"
以上です。
分類:[.NET]
はじめまして、いつもお世話になっております。
SaveFileDialogのファイルの種類で選択項目として上がっている
特定のファイルの種類の項目を、選択できないようにしたいのですが、
可能でしょうか?
たとえば、ファイルの種類のコンボボックス内で
"Microsoft Office Excel 2003 ブック (*.xls)"
"Microsoft Office Excel 2007 ブック (*.xlsx)"
と言うように2種類のファイル形式が選択できる状態ではあるが、
Microsoft Office Excel 2003 ブック (*.xls)形式しか
選択できない、という具合です。
ご教授の程、よろしくお願いたします。