在 Visual Basic 中使用一个保存文件对话框

Posted

技术标签:

【中文标题】在 Visual Basic 中使用一个保存文件对话框【英文标题】:Using one Save File Dialog Box in Visual Basic 【发布时间】:2012-02-07 17:09:03 【问题描述】:

目前我的程序中有三个单独的保存命令:写入纯文本、写入 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

感谢您的回复。

【问题讨论】:

【参考方案1】:

这里有一个 sn-p 可以给你一个想法。抱歉,它是用 C# 编写的,但它应该很容易转换为 VB。

编辑:这是新代码:

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

【讨论】:

在使用这个方法的时候有没有办法定义一个默认的扩展?就像选择了 Text 以自动将 .txt 附加到它的末尾一样。 @PaulWilliams 这是自动的。要看到这一点,您可以(暂时)将表单的 Text 属性设置为文件名。在 C# 中,它会这样完成:Text = saveFileDialog1.FileName;。如果我输入“abc”,我得到的是:C:\Users\...\abc.txt

以上是关于在 Visual Basic 中使用一个保存文件对话框的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Basic 6.0 中创建带有文本框的数组

使用 HashTable 对文件组进行排序 - Visual Basic

Visual Basic SaveDialog 缺少 dll

如何在 Visual Basic 中执行另存为 (V11 2012)

在编译的 Visual Basic .NET 应用程序中如何链接数据源?

使用 OLEDBConnection 将新记录插入到带有 Visual Basic 的表中