在 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)