| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 10362 人关注过本帖, 1 人收藏
标题:VB如何判断EXCEL文件是否打开
只看楼主 加入收藏
燕之峰
Rank: 2
等 级:论坛游民
帖 子:146
专家分:63
注 册:2014-3-21
结帖率:100%
收藏(1)
已结贴  问题点数:5 回复次数:5 
VB如何判断EXCEL文件是否打开
各位网友好,VB操作EXCEL文件程序是常用的。有这样一个问题,VB在进行对EXCEL文件操作时,有时EXCEL文件未打开,有时EXCEL文件已打开,这两种情况操作代码应有所不同。请问,VB如何判断一EXCEL文件是否打开(可判断在程序文件内的EXCEL文件,用相对路径)。1如未打开如何打开写入内容,保存退出。2如已打开,如何进行写入内容,保存退出。
请指导,谢谢
我是新会员,不知帖子给多少分,如分少,请谅解。
搜索更多相关主题的帖子: EXCEL 会员 如何 友好 
2014-03-22 13:49
chen3523
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:33
帖 子:223
专家分:1165
注 册:2013-2-12
收藏
得分:3 
我每当调用Excel把它设置为可见,就可以进行所有的操作了。格式如下:
Set xlapp = CreateObject("excel.application")
Dim xlBook As Object
Dim xlSheet As Object     '建立excel对象的工作薄对象
Set xlBook = xlapp.Workbooks.Add     '建立excel对象的工作表对象
Set xlSheet = xlBook.Worksheets(1)    '下面将DATAGRID中数据导出到EXCEL中
.
.
xlapp.Visible = True

调试失败3次后,关机睡觉,当醒来时多有收获。
2014-03-22 14:07
燕之峰
Rank: 2
等 级:论坛游民
帖 子:146
专家分:63
注 册:2014-3-21
收藏
得分:0 
EXCEL文件有可能打开也有可能未打开,要先判断EXCEL文件是否打开,然后再进行相应的操作。但不知如何书写代码
2014-03-22 15:48
chen3523
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:33
帖 子:223
专家分:1165
注 册:2013-2-12
收藏
得分:0 
不知道了

[ 本帖最后由 chen3523 于 2014-3-22 17:23 编辑 ]

调试失败3次后,关机睡觉,当醒来时多有收获。
2014-03-22 17:21
w360989426
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:228
专家分:301
注 册:2013-11-12
收藏
得分:3 
Set excel1 = New Excel.Application
    excel1.Visible = False
    excel1.Workbooks.Open (App.Path & "\程序模版.xls")
    excel1.Workbooks("程序模版.xls").Sheets("发货单").Name = "采购订单"
    excel1.Workbooks("程序模版.xls").Sheets("采购订单").Select
    If excel1.Workbooks("程序模版.xls").ReadOnly = True Then‘这行主要判断是否已打开,判断是ture那么就是已经打开的。。
        excel1.DisplayAlerts = False
        excel1.Application.Quit
        excel1.DisplayAlerts = True
        MsgBox "你已经打开“程序模版.xls”" & Chr(13) & "请关闭原有的“程序模版.xls”。", vbOKOnly, "错误提示"
        excel1.Visible = True
        Exit Sub
    Else
        excel1.Workbooks("程序模版.xls").Sheets("采购订单").Range("A2").CopyFromRecordset Adodc1.Recordset
    End If
才5分太少了。。。。。
收到的鲜花
  • 燕之峰2014-03-23 10:30 送鲜花  3朵   附言:好文章
2014-03-22 18:19
西门家的猫
Rank: 2
等 级:新手上路
威 望:3
帖 子:6
专家分:4
注 册:2021-7-25
收藏
得分:0 
来个简单的~

'检查工作表是否已被打开了(利用打开后是否为只读状态判断)
dim Excel应用 as Excel.Application '创建一个Excel应用对象
dim 指定工作簿 as Excel.Wookbook '创建一个Excel工作簿对象
Excel应用=CreatObject("Excel.Application") '生成这个Excel对象
 指定工作簿=Excel应用.Open("D:\工作簿1.xlsx") '将这个工作薄赋值到指定的工作簿(并打开)
If 指定工作簿.ReadOnly = True Then  '判断当前这个工作簿的打开模式是不是只读
    Msgbox("文件已被打开(当前处于只读模式)") '如果是,则说明文件已经被其他应用(或客户端)打开了
End If
2021-08-18 19:39
快速回复:VB如何判断EXCEL文件是否打开
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026264 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved