Foxtable(狐表)用户栏目专家坐堂 → 报表存为PDF文件报错,异常来自 HRESULT:0x800401A8


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

主题:报表存为PDF文件报错,异常来自 HRESULT:0x800401A8

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


加好友 发短信
等级:小狐 帖子:366 积分:3522 威望:0 精华:0 注册:2016/5/25 21:31:00
报表存为PDF文件报错,异常来自 HRESULT:0x800401A8  发帖心情 Post By:2018/6/6 14:14:00 [只看该作者]

异常来自 HRESULT:0x800401A8
安装了SaveAsPDFandXPS也不行
按钮代码如下
Dim Book As New XLS.Book(ProjectPath & "templets\商品出仓单.xls")
Dim r As Row = e.Form.controls("出仓单").Table.Current
Dim fl As String = "\\192.168.1.18\$fill$\Cangcu\ChuC\" &r("出仓单号")& r("客户名称")& r("出仓类别")  & "打印单.pdf"
Dim Sheet As XLS.Sheet = Book.Sheets(0)

If Relations.Count > 0 Then

Book.Build() '生成细节区

Book.SaveToPDF(fl) '保存为PDF文件
Dim Proc As New Process '打开PDF文件
Proc.File = fl
Proc.Start()


Else
Relations.Add("商品出仓关联",DataTables("商品出仓_出仓单").DataCols("出仓单号"),DataTables("商品出仓_出仓单明细").DataCols("出仓单号"))

Book.Build() '生成细节区
Book.SaveToPDF(fl) '保存为PDF文件
Dim Proc As New Process '打开PDF文件
Proc.File = fl
Proc.Start()

End If

Relations.Delete("商品出仓关联")

r("附件") = r("出仓单号")& r("客户名称")& r("出仓类别")  & "打印单.pdf"

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


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

1、你的ms office是什么版本的?2003?2007?

 

2、只有2007以上的ms office才能另存为pdf

 


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


加好友 发短信
等级:小狐 帖子:366 积分:3522 威望:0 精华:0 注册:2016/5/25 21:31:00
  发帖心情 Post By:2018/6/6 16:42:00 [只看该作者]

同时装了2003和2007

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


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

如果不另存为pdf,就没事?

 

1、路径改成 d:\test.pdf 试试

 

2、执行下面代码试试

 

Dim App As New MSExcel.Application
try
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("d:\会议签到表.xls")
    '创建Excel文件对应的PDF文件
    wb.Saved = True
    wb.ExportAsFixedFormat(MSExcel.XlFixedFormatType.xlTypePDF, "d:\会议签到表.pdf", MsExcel.XlFixedFormatQuality.xlQualityStandard, True, False,  System.Reflection.Missing.Value,  System.Reflection.Missing.Value, True,  System.Reflection.Missing.Value)
    app.quit
    msgbox("OK")
catch ex As exception
    msgbox(ex.message)
    app.quit
End try

 

3、还不行,那就卸载重装ms office,试试安装ms office 2010

 

 


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


加好友 发短信
等级:婴狐 帖子:6 积分:111 威望:0 精华:0 注册:2018/6/6 16:54:00
  发帖心情 Post By:2018/6/6 16:56:00 [只看该作者]

6666

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


加好友 发短信
等级:小狐 帖子:366 积分:3522 威望:0 精华:0 注册:2016/5/25 21:31:00
  发帖心情 Post By:2018/6/8 11:33:00 [只看该作者]

好的

 回到顶部