代码:

Function OpenExcelFile(sPath As String, ByVal sFileName As String, bDisplay As Boolean, sPwd As String) As Integer
    '打开Excel文件
    'Ver 1.05
    '完成时间:2007.12.01
    '设计:美猴王软件工作室 www.okexcel.com.cn
    '参数说明:
    'sPath:文件绝对路径;sFileName:Excel文件名;bDisplay:True显示错误信息;sPwd:文件打开密码
    '返回值:-1:同名文件已经打开;-2:文件不存在或密码错误;0:成功打开;1:文件已经被打开
    Dim bOpen As Boolean
    Dim sFullName As String
    On Error Resume Next
    If InStr(LCase(sFileName), ".xls") = 0 Then sFileName = sFileName & ".xls"
    sFullName = Workbooks(sFileName).FullName
    '检查是否已经打开同名的Excel文件
    '如果有sFullName不为空
    On Error GoTo 0
    bOpen = False
    If sFullName <> "" Then
        If LCase(sFullName) = LCase(sPath & "/" & sFileName) Then
            bOpen = True
            '判断已经打开的同名文件是否本次需要打开的文件
            OpenExcelFile = 1
            '文件已经被打开
        Else
            If bDisplay Then
                MsgBox "请首先关闭“" & sFileName & "”文件!" & Chr(13) & "不能同时打开同名文件,这是Excel的规定!", vbOKOnly + vbExclamation, "文件的打开错误"
            End If
            bOpen = True
            OpenExcelFile = -1
            '不能同时打开同名文件,这是Excel的规定
        End If
    End If
    If Not bOpen Then
        On Error GoTo errOpen
        Workbooks.Open Filename:=sPath & "/" & sFileName, Password:=sPwd
        On Error GoTo 0
        OpenExcelFile = 0
        '成功打开文件
    End If
    Exit Function
errOpen:
    If bDisplay Then MsgBox Err.Description, vbOKOnly + vbExclamation, "文件的打开错误"
    OpenExcelFile = -2
    '文件不存在或密码错误
    On Error GoTo 0
End Function

【常用自定义函数001】VBA高容错性地打开文件相关推荐

  1. Excel VBA选择文件、高容错性地打开文件

    VBA选择文件 Sub SelectFile() Dim FileName As Variant '打开文件对话框返回的文件名,是一个全路径文件名,其值也可能是False,因此类型为Variant D ...

  2. python自定义函数求差_[VBA]发布一个计算桩号之差的Excel自定义函数(VBA)

    这是一个可以计算桩号之差(也就是得到长度)的Excel(或WPS)扩展函数,可以减少工程师在统计工程量时的工作量. 该函数具有一定的通用性.可以在MS Office和金山WPS上使用. 文末会给出使用 ...

  3. asp.net中调用javascript自定义函数的方法(包括引入JavaScript文件)总结

    通常javascript代码可以与HTML标签一起直接放在前端页面中,但如果JS代码多的话一方面不利于维护,另一方面也对搜索引擎不友好,因为页面因此而变得臃肿:所以一般有良好开发习惯的程序员都会把ja ...

  4. c语言函数的使用步骤,c语言打开文件函数使用方法

    ANSI C规定文件打开用函数fopen,关闭为fclose. 1.调用方式通常为: FILE *fp; fp=fopen(文件名, 打开方式); 2.参数说明: 文件名: 形如"myfil ...

  5. 第十一章 文件操作_C语言fopen函数的用法,C语言打开文件详解

    在C语言中,操作文件之前必须先打开文件:所谓"打开文件",就是让程序和文件建立连接的过程. 打开文件之后,程序可以得到文件的相关信息,例如大小.类型.权限.创建者.更新时间等.在后 ...

  6. C语言fopen函数的用法,C语言打开文件详解

    在C语言中,操作文件之前必须先打开文件:所谓"打开文件",就是让程序和文件建立连接的过程. 打开文件之后,程序可以得到文件的相关信息,例如大小.类型.权限.创建者.更新时间等.在后 ...

  7. python的fopen函数_C语言fopen函数的用法,C语言打开文件详解

    在C语言中,操作文件之前必须先打开文件:所谓"打开文件",就是让程序和文件建立连接的过程. 打开文件之后,程序可以得到文件的相关信息,例如大小.类型.权限.创建者.更新时间等.在后 ...

  8. 【Aegisub相关】常用自定义函数AutoTags及其变种的介绍

    AutoTags函数用于在持续时间段内循环两个(组)特效标签,如blur数值来回变化,造成闪烁效果.在很多脚本中都很常见.想要使用这个函数,首先需要先在code行声明该函数. Aegisub里面的模样 ...

  9. PHP 常用自定义函数

    获取分页信息 /*** 获取分页信息* @param int $nowPage 当前页* @param int $totalRows 总条数* @param int $listRows 每页显示条数, ...

最新文章

  1. ASP.NET Core MVC 源码学习:详解 Action 的匹配
  2. CentOS7加入windows 2008 AD域
  3. 《一》php多进程编程:第一次fork
  4. 【noip模拟】德充符
  5. 多亏了Google相册,如何一键释放Android手机上的空间
  6. CodeForces 901D Weighting a Tree(结论)
  7. ARM 指令集 VS Thumb 指令集
  8. dnf服务器延迟怎么看,dnf如何判断自己网络还是服务器出问题_dnf判断自己网络还是服务器出问题详细介绍_游戏堡...
  9. SQL入门-Navicat的基本使用
  10. Win10:重新安装window store
  11. Jade win10 安装教程
  12. 为什么要购买域名?如何购买域名?
  13. Django 入门:tests.py
  14. 历史论文比赛TCR介绍
  15. atol的实现【转】
  16. PMP 第六章 项目时间管理
  17. 制作自己的 Kindle 电子书
  18. 众安运维监控平台,构建devops一体化监控和运维体系
  19. 嵌入式开发——结构体指针作为参数传递变量的值不正确
  20. vivado+vscode

热门文章

  1. mysql查询表中最后一条记录
  2. 【观察】构筑智能数据新生态圈,联想凌拓的开放与创新
  3. html中js修改字体,rem布局中使用js修改html的fontSize
  4. 正则表达式中的数量词概念
  5. 桔子浏览器 V1.0.9.1033 官方版特性
  6. 施乐700i装服务器系统,施乐700i服务器连接不到主机
  7. 在link.c中已经include了头文件了,为什么使用ld还无法识别mian和printf?
  8. 计算机培训学校招生广告宣传语,学校招生创意宣传语集合
  9. Pdfbox在linux下生成pdf,使用PDFBox处理PDF文档
  10. Python 爬取网页图片