以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求指点,代码发生错误却能打开  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=27164)

--  作者:雁过不留痕8
--  发布时间:2012/12/24 9:04:00
--  求指点,代码发生错误却能打开
在表A的窗口一的table1中click输入以下代码
Dim a As Integer 
Dim c As Integer 
a=Tables("窗口1_table1").Rowsel
c=Tables("窗口1_table1").colsel
Dim b As Row
b= Tables("窗口1_table1").Rows(a)
Dim proc1 As new process
proc1.file=b(c) 
proc1.start()
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("c:\\2.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(b(c))  \'x为整数,表示打开第几个sheet
Ws.Select()
app.Visible = True

预览点击时出现系统找不到指定文件,点确定后却打开了
想问一下,我这是哪里出了问题?
求指点,先谢谢各位了




--  作者:lin_hailun
--  发布时间:2012/12/24 9:14:00
--  
 
Dim proc1 As new process
proc1.file=b(c) 
proc1.start()

你确定b(c)是一个文件的路径吗?

--  作者:雁过不留痕8
--  发布时间:2012/12/24 9:31:00
--  
b(c)是"c:\\2.xls"下的sheet名
--  作者:雁过不留痕8
--  发布时间:2012/12/24 9:35:00
--  
我在想是不是应该按你说的将app定义成全局变量,但是我不会设置
--  作者:雁过不留痕8
--  发布时间:2012/12/24 9:37:00
--  
因为打开的 c:\\2.xls是只读
--  作者:雁过不留痕8
--  发布时间:2012/12/24 9:51:00
--  
搞定了,
 
Dim proc1 As new process
proc1.file=b(c) 
proc1.start()
将上述语句删除即可,谢谢大家

--  作者:lin_hailun
--  发布时间:2012/12/24 10:04:00
--  
以下是引用雁过不留痕8在2012-12-24 9:35:00的发言:
我在想是不是应该按你说的将app定义成全局变量,但是我不会设置


菜单->管理项目->全局代码

然后定义 Public App As New MSExcel.Application

-----------------------------使用如下

Dim a As Integer 
Dim c As Integer 
a=Tables("窗口1_table1").Rowsel
c=Tables("窗口1_table1").colsel
Dim b As Row
b= Tables("窗口1_table1").Rows(a)

\'直接使用
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("c:\\2.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(b(c))  \'x为整数,表示打开第几个sheet
Ws.Select()
app.Visible = True

--------------------------------

最后在程序关闭的的时候,或者任意时候,执行app.Quit