以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]导出Excel一个项目可以另一个项目不行(搞定)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=5986)

--  作者:易服
--  发布时间:2010/2/22 16:23:00
--  [求助]导出Excel一个项目可以另一个项目不行(搞定)
项目1:导出Excel  
                    Tables("交叉统计").SaveExcel(ProjectPath & "Reports\\数据分析.xls","交叉统计",False)
                    Dim Result As DialogResult
                    Dim Proc As New Process \'打开工作簿
                    Proc.File = ProjectPath & "Reports\\数据分析.xls"
                    Proc.Start()
图片点击可在新窗口打开查看此主题相关图片如下:2010-2-22 13-56-28.png
图片点击可在新窗口打开查看


项目2:导出Excel正常
代码: Tables("交叉统计").SaveExcel("D:\\My Documents\\Reports\\数据分析.xls","交叉统计",False)
                    Dim Result As DialogResult
                    Dim Proc As New Process \'打开工作簿
                    Proc.File = "D:\\My Documents\\Reports\\数据分析.xls"
参照了yangming版主的帖子修改也不行,要说两个项目有什么不同的话只有路径不同(ProjectPath & "Reports\\数据分析.xls   D:\\My Documents\\Reports\\数据分析.xls);在Win XP下一个项目正常而另一项目出错,在另一台Win7下两个项目都出错。真是怪????
[此贴子已经被作者于2010-2-24 17:14:59编辑过]

--  作者:yangming
--  发布时间:2010/2/22 16:26:00
--  
Tables("交叉统计").SaveExcel("D:\\My Documents\\Reports\\数据分析.xls","交叉统计",False)

上条改成下面的代码试试?

Tables("交叉统计").SaveExcel("D:\\My Documents\\Reports\\数据分析.xls","交叉统计")

--  作者:易服
--  发布时间:2010/2/22 16:31:00
--  
项目2的代码是正常的,出错的是项目1的代码取消False也不行
--  作者:易服
--  发布时间:2010/2/22 16:47:00
--  
12.29版都正常。还是认真看一下新帮助,等着更新可能就好了
--  作者:yangming
--  发布时间:2010/2/22 17:32:00
--  
Reports=是这个文件夹的问题吧,如果没有此文件夹就会报错
可以在代码前加一个判断是否有此文件夹,如没有,就创建,如有就不动作,请看下面代码:
If FileSys.DirectoryExists(ProjectPath & "\\Reports") Then
Else
FileSys.CreateDirectory(ProjectPath & "\\Reports")
End If
[此贴子已经被作者于2010-2-22 17:35:11编辑过]

--  作者:易服
--  发布时间:2010/2/22 19:28:00
--  
加上也不行应是bug
If FileSys.DirectoryExists(ProjectPath & "\\Reports") Then
Else
FileSys.CreateDirectory(ProjectPath & "\\Reports")
End If

--  作者:yangming
--  发布时间:2010/2/22 19:44:00
--  
以下是引用易服在2010-2-22 19:28:00的发言:
加上也不行应是bug
If FileSys.DirectoryExists(ProjectPath & "\\Reports") Then
Else
FileSys.CreateDirectory(ProjectPath & "\\Reports")
End If

下面的代码测试成功!
If FileSys.DirectoryExists(ProjectPath & "\\Reports") Then
Else
FileSys.CreateDirectory(ProjectPath & "\\Reports")
End If
Tables("出库").SaveExcel(ProjectPath & "Reports\\数据分析.xls","交叉统计")
                    Dim Result As DialogResult
                    Dim Proc As New Process \'打开工作簿
                    Proc.File = ProjectPath & "Reports\\数据分析.xls"
                    Proc.Start()


--  作者:易服
--  发布时间:2010/2/24 17:13:00
--  
以下更改成功,谢谢!
 If FileSys.DirectoryExists(ProjectPath & "\\Reports") Then
Else
FileSys.CreateDirectory(ProjectPath & "\\Reports")
End If
Tables("交叉统计").SaveExcel(ProjectPath & "Reports\\数据分析.xls","交叉统计")
                    Dim Result As DialogResult
                    Dim Proc As New Process \'打开工作簿
                    Proc.File = ProjectPath & "Reports\\数据分析.xls"
                    Proc.Start()Tables("交叉统计").SaveExcel(ProjectPath & "Reports\\数据分析.xls","交叉统计",False)
                    Dim Result As DialogResult
                    Dim Proc As New Process \'打开工作簿
                    Proc.File = ProjectPath & "Reports\\数据分析.xls"
                    Proc.Start()


If FileSys.DirectoryExists("D:\\My Documents\\Reports") Then
Else
FileSys.CreateDirectory("D:\\My Documents\\Reports")
End If
Tables("交叉统计").SaveExcel("D:\\My Documents\\Reports\\数据分析.xls","交叉统计")
                    Dim Result As DialogResult
                    Dim Proc As New Process \'打开工作簿
                    Proc.File = ProjectPath & "Reports\\数据分析.xls"
                    Proc.Start()Tables("交叉统计").SaveExcel("D:\\My Documents\\Reports\\数据分析.xls","交叉统计",False)
                    Dim Result As DialogResult
                    Dim Proc As New Process \'打开工作簿
                    Proc.File = "D:\\My Documents\\Reports\\数据分析.xls"
                    Proc.Start()