Использование одного диалогового окна «Сохранить файл» в Visual Basic

В настоящее время в моей программе есть три отдельные команды сохранения: запись в обычный текст, запись в HTML и запись в файл Excel.

Каждый из них вызывается отдельной командой в меню. Я хотел бы объединить эти три в один диалог сохранения файла в программе. Я знаю, что мне придется отредактировать свойство «Фильтр» диалогового окна, чтобы добавить два других типа.

Мои вопросы, как мне закодировать программу для сохранения файла на основе того, что выбрано из фильтра. Это сказать :

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

Спасибо за любой ответ.


person Paul Williams    schedule 07.02.2012    source источник


Ответы (1)


Вот фрагмент, чтобы дать вам представление. Извините, это на C#, но его легко преобразовать в VB.

РЕДАКТИРОВАТЬ: вот новый код:

saveFileDialog1.Filter = "Text|*.txt|Word|*.docx";
saveFileDialog1.ShowDialog();            
if (saveFileDialog1.FilterIndex == 2) MessageBox.Show("It's a Word doc.");
saveFileDialog1.Dispose();
person ispiro    schedule 07.02.2012
comment
Есть ли способ определить расширение по умолчанию при использовании этого метода? Например, если текст выбран для автоматического добавления .txt в конец. - person Paul Williams; 08.02.2012
comment
@PaulWilliams Это автоматически. Чтобы увидеть это, вы можете (временно) установить свойство Text вашей формы на имя файла. В C# это будет сделано так: Text = saveFileDialog1.FileName; . Что я получаю, если набираю abc: C:\Users\...\abc.txt. - person ispiro; 08.02.2012