2012-02-07 75 views
1

当前我的程序中有三个单独的保存命令:写入纯文本,写入HTML和写入Excel文件。在Visual Basic中使用一个保存文件对话框

每一个都由菜单上的不同命令调用。我想将这三个结合到一个程序的保存文件对话框中。我知道我将不得不编辑对话框的“过滤器”属性以添加其他两种类型。

我的问题,我该如何编写程序来保存基于过滤器中选择的文件。也就是说:

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。

编辑:这里的新代码:

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

有没有办法使用此方法时定义一个默认的扩展?就像选择了文本自动将.txt附加到它的末尾一样。 – 2012-02-07 20:11:41

+0

@PaulWilliams它是自动的。为了看到这一点,你可以(暂时)将表单的Text属性设置为文件名。在C#中它可以这样做:'Text = saveFileDialog1.FileName;'。如果输入“abc”,我会得到的是:'C:\ Users \ ... \ abc.txt'。 – ispiro 2012-02-07 20:48:41