2012-02-07 13 views
1

現在、プログラムには3つの別々の保存コマンドがあります。プレーンテキストへの書き込み、HTMLへの書き込み、およびExcelファイルへの書き込みです。Visual Basicでファイルを保存ダイアログボックスを1つ使用する

それぞれがメニュー上の別のコマンドによって呼び出されます。私はこれらの3つをプログラム上の1つのファイル保存ダイアログにまとめたいと思います。他の2つのタイプを追加するには、ダイアログボックスの "フィルタ"プロパティを編集する必要があることを知っています。

私の質問は、フィルタから選択されたものに基づいてファイルを保存するプログラムをコーディングする方法です。つまり、

If "Selected = Microsoft Excel" Then 
    * Save As Excel File 
ElseIf "Selected = HTML Then 
    * Save As HTML File 
Else 
    * Save As Plain Text File 
End If 

ありがとうございました。

答えて

1

ここにあなたにアイデアを伝えるためのスニペットがあります。 C#で申し訳ありませんが、VBに変換するのは簡単です。

EDIT:

saveFileDialog1.Filter = "Text|*.txt|Word|*.docx"; 
saveFileDialog1.ShowDialog();    
if (saveFileDialog1.FilterIndex == 2) MessageBox.Show("It's a Word doc."); 
saveFileDialog1.Dispose(); 
+0

、この方法を使用する場合、デフォルトの拡張子を定義する方法があります:ここに新しいコードがですか?テキストの末尾に.txtが自動的に追加されるように選択されている場合と同様です。 –

+0

@PaulWilliamsそれは自動です。これを見るには、(一時的に)フォームの 'Text'プロパティをファイルの名前に設定することができます。 C#では次のようになります: 'Text = saveFileDialog1.FileName;'。 "abc"と入力すると、 'C:\ Users \ ... \ abc.txt'になります。 – ispiro

関連する問題