Foxtable(狐表)用户栏目专家坐堂 → 报告Office2010下导出Excel出错


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

主题:报告Office2010下导出Excel出错

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
报告Office2010下导出Excel出错  发帖心情 Post By:2011/3/5 9:43:00 [只看该作者]

报告Office2010下导出Excel出错,Office2007下正常

 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 flg As New SaveExcelFlags
                    flg.MergedRanges = True
                    CurrentTable.SaveExcel("D:\My Documents\Reports\数据分析.xls","交叉统计",flg)
                    Dim Result As DialogResult
                    Dim App As New MSExcel.Application
                    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\My Documents\Reports\数据分析.xls")
                    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
                    Dim Rg As MSExcel.Range = Ws.UsedRange
                    Rg.Borders.Linestyle = MSExcel.XlLineStyle.xlContinuous  '边框线型
                    Rg.Borders.Weight = MSExcel.XlBorderWeight.xlThin        '边框粗细
                    Rg.Borders.ColorIndex = 1 '边框颜色
                    Dim M As MSExcel.Range = Ws.Cells
                    M.EntireColumn.AutoFit   '自动调整列宽
                    M.EntireRow.AutoFit      '自动调整行高
                    App.Visible = True
                    Wb.Save


图片点击可在新窗口打开查看此主题相关图片如下:2011-3-5 9-25-05.png
图片点击可在新窗口打开查看
另发现返回系统菜单( CTRL + SHIFT + F12 ): ” SHIFT + 退格键 +F12  ” 也可以。 


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


加好友 发短信
等级:管理员 帖子:47497 积分:251397 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/3/5 13:14:00 [只看该作者]

根据错误提示,是打开出错,不是导出出错的,错误应该在这一段代码:

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\My Documents\Reports\数据分析.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.UsedRange
Rg.Borders.Linestyle = MSExcel.XlLineStyle.xlContinuous  '边框线型
Rg.Borders.Weight = MSExcel.XlBorderWeight.xlThin        '边框粗细
Rg.Borders.ColorIndex = 1 '边框颜色
Dim M As MSExcel.Range = Ws.Cells
M.EntireColumn.AutoFit   '自动调整列宽
M.EntireRow.AutoFit      '自动调整行高
App.Visible = True
Wb.Save


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


加好友 发短信
等级:管理员 帖子:47497 积分:251397 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/3/5 15:21:00 [只看该作者]

整段代码我测试了没有问题,看看是不是哪个文件被写保护了


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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2011/3/5 15:43:00 [只看该作者]

以下是引用狐狸爸爸在2011-3-5 15:21:00的发言:

整段代码我测试了没有问题,看看是不是哪个文件被写保护了

Office2010下出错,大概是保护级别太高造成的。Office2007下正常

[此贴子已经被作者于2011-3-5 15:47:09编辑过]

 回到顶部