以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  Book.SavetoPDF()总是A4尺寸,如何变为Letter?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=72035)

--  作者:guning007
--  发布时间:2015/7/22 15:07:00
--  Book.SavetoPDF()总是A4尺寸,如何变为Letter?
我做了一个按钮,用代码基于Excel模版生成报表,Excel模版的纸张我设置的是Letter。

然后我使用Book.Save()和Book.SaveToPDF两个语句分别保存该报表的Excel版本和PDF版本。

问题是,Excel版本的报表纸张依然是Letter,但是PDF版本的却变成了A4。

请教我该如何设置让PDF版本也是Letter尺寸。

谢谢!

Dim Book As New XLS.Book(ProjectPath & "Attachments\\Invoice-USA.xls")
Dim r As Row = Tables("订单").Current
Dim fl1 As String = "D:\\工作文件\\订单\\" & r("编号") & "\\Invoice " & r("编号") & ".xls"
Dim fl2 As String = "D:\\工作文件\\订单\\" & r("编号") & "\\Invoice " & r("编号") & ".pdf"
Book.Build()
Book.Save(fl1)
Book.SaveToPDF(fl2)
Dim Proc As New Process
Proc.File = fl2
Proc.Start()
[此贴子已经被作者于2015/7/22 15:08:58编辑过]

--  作者:大红袍
--  发布时间:2015/7/22 15:59:00
--  

 用代码试试

 

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


--  作者:guning007
--  发布时间:2015/7/23 20:12:00
--  
红老师您好,这段代码好复杂啊,我从哪里能学习它?

另外,既然能这样存成pdf,那么能不能另存为 CSV 文件?如果可以,代码要怎么写?

谢谢红老师。

--  作者:大红袍
--  发布时间:2015/7/23 20:28:00
--  

 另存为什么格式都可以,如把生成的excel文件转成html即可。

 

 

Dim App As New MSExcel.Application
app.DisplayAlerts = False
Dim Wb As MSExcel.Workbook = App.WorkBooks.Open("d:\\test.xls")
Wb.SaveAs(Filename:=ProjectPath & "Reports\\基层法律服务所名册.htm", FileFormat:=MSExcel.XlFileFormat.xlHtml)
wb.close
app.quit
 

--  作者:shenyl0211
--  发布时间:2015/7/23 22:14:00
--  
真是高手
--  作者:guning007
--  发布时间:2015/7/25 14:18:00
--  存储后依然是A4
红老师,这段代码我加进去试了,但是pdf依然是A4的,不是Letter Size。

代码里面哪个位置是设置纸张尺寸的呢?

谢谢!

--  作者:大红袍
--  发布时间:2015/7/26 10:14:00
--  

那就是无法改纸张大小的,没办法