Foxtable(狐表)用户栏目专家坐堂 → excel 已经打开的判断


  共有5015人关注过本帖树形打印复制链接

主题:excel 已经打开的判断

帅哥哟,离线,有人找我吗?
CRM2013
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:315 积分:3554 威望:0 精华:0 注册:2012/12/10 10:38:00
excel 已经打开的判断  发帖心情 Post By:2013/12/8 15:41:00 [只看该作者]

在调用excel模版时,有时会出现 ***文件已经打开,请先关闭

 

请问如何判断文件已经打开?我想在调用前判断文件是否打开,如已经打开则保存并关闭,这样上面的报错就不会出现了。谢谢

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/8 20:37:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
CRM2013
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:315 积分:3554 威望:0 精华:0 注册:2012/12/10 10:38:00
  发帖心情 Post By:2013/12/8 21:36:00 [只看该作者]

谢谢!

 

请问如何关闭已经打开的excel? 帮助文件上说excel只有open, print openreadonly3个动作。

 

我用下面的代码运行后报错。

 

Dim fl As String = ProjectPath & "Reports\SalesContract.xls"
If FileIsOpened(fl)= True Then
    Dim Proc  As New Process  '定义一个新的Process
    Proc.File = fl '指定要打开的文件
    'proc.verb = "close"
    Proc.Close()
End  If

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/8 21:43:00 [只看该作者]

 在全局代码定义

public pubProc As New Process '定义一个新的Process

 在报表生成打开之前,把之前生成的报表先关了

If FileIsOpened(fl)= True Then
    pubProc.Close()
End  If

'生成新报表的代码

'打开新报表
If FileIsOpened(fl)= True Then
    pubProc.File = fl '指定要打开的文件
    pubProc.Start()
End  If
[此贴子已经被作者于2013-12-8 21:44:47编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
CRM2013
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:315 积分:3554 威望:0 精华:0 注册:2012/12/10 10:38:00
  发帖心情 Post By:2013/12/8 22:18:00 [只看该作者]

在调用模版生成excel时出现下面的报错,请问是什么意识?

 

 


图片点击可在新窗口打开查看此主题相关图片如下:捕获.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/8 22:32:00 [只看该作者]

 我测试可以的,你上个例子看看。

 回到顶部