全民一起VBA实战篇第五课:外部文件处理技巧

题目一

用窗口选择/打开文件

Sub get方法()
    Dim fname   
    fname = Application.GetOpenFilename()
    '获取选择的文件名
    If fname <> False Then
    '判断是否有选中,如果点了取消,则退出程序
    '否则运行文件
        MsgBox fname
        '返回字符串
        Workbooks.Open fname
        '这个过程才是打开
    End If    
End Sub

有不少可选参数可以设置

Sub get方法()
    Dim fname    
    fname = Application.GetOpenFilename( _
    filefilter:="EXCEL文件,*.xlsx;*.xlsm,全部,*", _
    FilterIndex:=1, _
    Title:="请选择一个文件", _
    MultiSelect:=True)
    '过滤器选择EXCEL文件或者全部文件
    '默认选择的是第一个,EXCEL文件
    '对话框的标题是"请选择一个文件"
    '支持多选
    If IsArray(fname) Then
    '判断是否有选中,选中一个也是数组
        For Each s In fname
            MsgBox s
            Workbooks.Open s
            '这个过程才是打开
        Next s
    End If    
End Sub

在这里插入图片描述
按住shift实现多选

同理,还可以用于保存

Sub save方法()
    Dim fname, w As Workbook    
    Set w = ActiveWorkbook   
    fname = Application.GetSaveAsFilename( _
        filefilter:="EXCEL文件,*.xlsx;*.xlsm,全部,*", _
        FilterIndex:=1, _
        Title:="请保存到硬盘", _
        InitialFileName:="报表test.xlsm")
    '过滤器选择EXCEL文件或者全部文件
    '默认选择的是第一个,EXCEL文件
    '对话框的标题是"请选择一个文件"
    '默认保存名
    If fname <> False Then
    '判断是否有选中
        MsgBox s
        w.SaveAs fname
        '这个过程才是保存
    End If    
End Sub

题目二

application.filedialog

msoFileDialogOpen 文件打开对话框 可以直接执行
msoFileDialogSaveAs 文件保存对话框 可以直接执行
msoFileDialogFilePicker 文件浏览对话框 不能直接执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值