以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  报表存为PDF文件报错,异常来自 HRESULT:0x800401A8  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=120064)

--  作者:wakai
--  发布时间:2018/6/6 14:14:00
--  报表存为PDF文件报错,异常来自 HRESULT:0x800401A8
异常来自 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"

--  作者:有点甜
--  发布时间:2018/6/6 14:16:00
--  

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

 

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

 


--  作者:wakai
--  发布时间:2018/6/6 16:42:00
--  
同时装了2003和2007
--  作者:有点甜
--  发布时间: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
--  发布时间:2018/6/6 16:56:00
--  
6666
--  作者:wakai
--  发布时间:2018/6/8 11:33:00
--  
好的