msg文件怎么打开,msg文件在电脑上如何打开

No.1

VBA编程中有这样一种情景,就是当我们选择打开一个文件后,并不打算进行编辑,也就是说根本不想打开这个文件,而只是通过"打开文件"对话框来传递这个文件的地址和文件名。

怎么办呢?VBA给出了一个方法,可以方便地通过这个方法实现获取文件地址和名称。

如何获取打开或保存文件地址和文件名,VBA编程

如下图所示,GetOpenFilename方法可实现上述功能。

此文件是Application对象之下使用,使用方法:

Application.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)

参数说明可以参考下图:

如何获取打开或保存文件地址和文件名,VBA编程

如果,在打开对话框中没有单击确定按钮,也就是没有选择任何文件,单击了取消按钮的时候,GetOpenFilename方法返回False。

根据返回值,就可以对程序过程进行一个判断,是传递文件名还是进行其它操作。

下图为另一个方法,实现保存文件名返回。

如何获取打开或保存文件地址和文件名,VBA编程

语法:Application.GetSaveAsFilename (InitialFilename, FileFilter, FilterIndex, Title, ButtonText)

获取用户文件名,而不保存任何文件。

感觉这两个方法都有些欺骗性,也不知道为什么这么做。

不管怎么着,只要理解在什么场景下可以使用达到目的就行了。

下图为例进行说明

如何获取打开或保存文件地址和文件名,VBA编程

三个按钮,一个打开文件,一个保存文件,一个清除记录。

每打开一个文件就记录一条,每保存一个文件就记录一条,其实都没有执行真正的操作。

清除记录可把记录的内容删除。

看下代码就明白了。

No.2Private Sub CommandButton1_Click()Dim O As Variant'定义变量O = Application.GetOpenFilename’返回值If O <> False Then‘如果不是False就执行工作表记录过程 WriteValue O, Me.CommandButton1.CaptionElse MsgBox "没有选择文件!"End IfEnd Sub如何获取打开或保存文件地址和文件名,VBA编程

Private Sub WriteValue(O As Variant, Cname As String) Dim cell As Range, ir As Integer Set cell = ActiveSheet.Range("B3") ir = ActiveSheet.Cells(ActiveSheet.Cells.Rows.Count, cell.Column).End(xlUp).Row + 1 With ActiveSheet.Cells(ir, cell.Column) .Value = "=row()-3" .Offset(0, 1).Value = O .Offset(0, 2).Value = Cname End WithEnd Sub

以上代码实现对工作表进行记录,记录内容为打开或保存工作表的地址和文件名。

调用系统标准对话框有几种方法,前面文章里有过介绍,如Dialog对象,就是Microsoft Excel 中的所有内置对话框集合,有兴趣可以参考学习。

欢迎关注、收藏

—END—

本文地址:https://www.cknow.cn/archives/36654

以上内容源自互联网,由百科助手整理汇总,其目的在于收集传播生活技巧,行业技能,本网站不对其真实性、可靠性承担任何法律责任。特此声明!

如发现本站文章存在版权问题,烦请提供版权疑问、侵权链接、联系方式等信息发邮件至candieraddenipc92@gmail.com,我们将及时沟通与处理。