以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  用foxtable打开带启动命令的excel表出现的“被呼叫方拒绝接收呼叫”错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=57640)

--  作者:lrj03
--  发布时间:2014/9/28 12:17:00
--  用foxtable打开带启动命令的excel表出现的“被呼叫方拒绝接收呼叫”错误


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
--  发布时间:2014/9/28 12:27:00
--  好像是excel文件打开时程序没执行完,就执行下一句foxtable命令而产生的冲突

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

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

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

--  作者:有点甜
--  发布时间:2014/9/28 14:41:00
--  
 测试了一下,和你的excel写的宏有冲突。必须删除对应的代码。
--  作者:有点甜
--  发布时间:2014/9/28 14:48:00
--  

红色代码

 

Private Sub workbook_open()


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


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


--  作者:lrj03
--  发布时间: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编辑过]