Foxtable(狐表)用户栏目专家坐堂 → 用foxtable打开带启动命令的excel表出现的“被呼叫方拒绝接收呼叫”错误


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

主题:用foxtable打开带启动命令的excel表出现的“被呼叫方拒绝接收呼叫”错误

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


加好友 发短信
等级:幼狐 帖子:92 积分:1117 威望:0 精华:0 注册:2011/5/6 12:46:00
用foxtable打开带启动命令的excel表出现的“被呼叫方拒绝接收呼叫”错误  发帖心情 Post By:2014/9/28 12:17:00 [只看该作者]


excel表的thisworkbook里的代码:

Private Sub workbook_open()

ActiveWorkbook.RefreshAll

 Call 计算
End Sub


Private Sub 计算()
Dim rg As Range
Set rg = Sheets("sheet1").Columns("B")
x0 = rg.Find("*", LookIn:=xlFormulas, SearchDirection:=xlPrevious).Row '取得A列末行行号
Sheets("sheet1").Cells(1, 1).Value = x0
End Sub

 

button1代码:

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(ProjectPath & "项目报表fp.xls")
app.run("recalcu")
app.visible=True

button2代码: 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(ProjectPath & "项目报表fp.xls")
MessageBox.show("执行计算")      '与botton1代码的差别
app.run("recalcu")
app.visible=True

 

运行“button1代码”就出现“被呼叫方拒绝接收呼叫”错误


此主题相关图片如下:截图00.png
按此在新窗口浏览图片

运行“button2代码”就可以执行,这是怎么回事,要怎么解决这问题?

附件:

 

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:测试.rar

[此贴子已经被作者于2014-9-28 12:19:32编辑过]

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


加好友 发短信
等级:幼狐 帖子:92 积分:1117 威望:0 精华:0 注册:2011/5/6 12:46:00
好像是excel文件打开时程序没执行完,就执行下一句foxtable命令而产生的冲突  发帖心情 Post By:2014/9/28 12:27:00 [只看该作者]

好像是excel文件打开时程序没执行完,就执行下一句foxtable命令而产生的冲突,是否可以执行一个判断,

让前面的excel表的启动程序执行完再执行下一命令,这个判断怎么写?求教

[此贴子已经被作者于2014-9-28 12:27:22编辑过]

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


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

 测试了一下,和你的excel写的宏有冲突。必须删除对应的代码。

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


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

红色代码

 

Private Sub workbook_open()


'Sheets("sheet1").Cells(3, 2).Select
ActiveWorkbook.RefreshAll


'MsgBox ("1")
 Call 计算
End Sub


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


加好友 发短信
等级:幼狐 帖子:92 积分:1117 威望:0 精华:0 注册:2011/5/6 12:46:00
  发帖心情 Post By:2014/9/28 17:17:00 [只看该作者]

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(ProjectPath & "项目报表fp.xls")
wb.refreshall
‘MessageBox.show("执行计算")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)

app.visible=True

把botton1代码改为以上,如果没有MessageBox.show("执行计算"),就会出现拒绝呼叫错误,加上MessageBox.show("执行计算")

中断一下,就可以执行了。项目报表fp.xls中的启动代码已清空。这个可能就是refreshall的奇怪问题,暂时就用messagebox解决了

[此贴子已经被作者于2014-9-28 18:06:58编辑过]

 回到顶部