请大神帮忙改一段VB代码。避免同一EXCEL文件重复打开问题,希望能加进判断不重复打开柜体2.xlsb文件。

OptionExplicitDimstrDataPathAsStringDimxlAppAsexcel.ApplicationDimxlBookAsexcel.Workb... Option Explicit
Dim strDataPath As String
Dim xlApp As excel.Application
Dim xlBook As excel.Workbook
Dim xlSheet As excel.Worksheet

Private Sub Form_Load()
strDataPath = App.Path & "\Database\柜体2.xlsb"
If dir(strDataPath, vbDirectory) = "" Then
MsgBox "柜体数据不存在,请检查数据库路径", vbInformation, "数据库错误"
'Exit Function
End If

Set xlApp = CreateObject("Excel.Application")
'xlApp.DisplayAlerts = False
Set xlBook = xlApp.Workbooks.Open(strDataPath)
xlApp.Visible = False
'End Function
'End Function
End Sub
希望能判断“柜体.xlsb”文件是否以经打开,如果以经打开了,就不再重复打开,如果没打开就打开它。请大神帮忙把代码修改一下达到这个要求。谢谢,就10分全上了。
首先感谢 bdxbr 老师的热心解答,但是问题依旧,刚才试着给老师老私信但是百度验证码输入永远是错误的,只好做罢,另外还请大神们伸手指点,不胜感激……
展开
 我来答
bdxbr
2016-07-01 · TA获得超过1053个赞
知道小有建树答主
回答量:957
采纳率:44%
帮助的人:308万
展开全部
Option Explicit
Dim strDataPath As String
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

Private Sub Form_Load()
    On Error Resume Next '这一行新增
    strDataPath = App.Path & "\Database\柜体2.xlsb"
    If Dir(strDataPath, vbDirectory) = "" Then
        MsgBox "柜体数据不存在,请检查数据库路径", vbInformation, "数据库错误"
        'Exit Function
    End If
    s = Workbooks("柜体2.xlsb").Name '获取文件名
    Err.Number = 0
    If Err.Number <> 0 Then '如果发生错误,表示没有打开此文件
        Err.Number = 0
        Set xlApp = CreateObject("Excel.Application")
        'xlApp.DisplayAlerts = False
        Set xlBook = xlApp.Workbooks.Open(strDataPath)
        xlApp.Visible = False
    End If
'End Function
 'End Function
 End Sub
更多追问追答
追问

现在出现这个问题,求解决

追答
哦,你的代码限制了变量必须先定义
在On error resume next
后另起一行,写上
Dim s as String
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式