| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 181 人关注过本帖
标题:VB判断文件是否打开
只看楼主 加入收藏
zhusong1998
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2017-8-27
结帖率:0
  问题点数:0  回复次数:2   
VB判断文件是否打开
求助啊!


程序代码:
Option Explicit
Public xlapp As excel.Application
Private Sub Command1_Click()
  Dim i%
  Dim fn As String
  Dim mywb
  Dim fn1
  fn = app.path & "\调试初始化\各国家中重卡采购明细汇总表.xlsx"
  fn1 = "各国家中重卡采购明细汇总表.xlsx"
  On Error Resume Next
  Set xlapp = GetObject(, "excel.application")
  If Not xlapp Is Nothing Then
    For i = 1 To xlapp.Workbooks.Count '统计不了程序打开的文件,打开了4个文件,但统计数只有3个
      If LCase(xlapp.Workbooks(i).FullName) = LCase(fn) Then '识别不到程序打开的文件
        xlapp.Workbooks(fn).Activate
        Set mywb = xlapp.Workbooks(fn1)
        Exit For
      End If
    Next i
      If mywb Is Nothing Then
        Set xlapp = CreateObject("excel.application")
        Set mywb = excel.Workbooks.Open(App.Path & "\各国家中重卡采购明细汇总表.xlsx")
        xlapp.Visible = True
      End If
  Else
        Set xlapp = CreateObject("excel.application")
        Set mywb = excel.Workbooks.Open("" & App.Path & "\各国家中重卡采购明细汇总表.xlsx")
        xlapp.Visible = True
  End If
  End
End Sub
'实现的功能:判断所需文件是否打开,如果打开了就激活文件。如果没有打开则打开再激活。

'存在问题:手动打开所需的文件,再次启动程序时可以识别到所需文件已经打。
'          但是程序自己打开所需文件,再次运行程序时就识别不到所需文件已经打开,仍然会再次打开所需文件(只读)。

'程序打开的文件名称是这种“microsoft excel-文件名.xlsx”,可能因为这个,程序在下次判断时就识别不到自己打开的文件。

附件: 您没有浏览附件的权限,请 登录注册
2019-03-26 13:48
zhusong1998
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2017-8-27
  得分:0 
发错了地方
撤不回来,请版版移下吧。

[此贴子已经被作者于2019-3-26 13:51编辑过]

2019-03-26 13:50
zhusong1998
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2017-8-27
  得分:0 
去VB6再开一个吧
2019-03-26 14:37







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

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