Foxtable(狐表)用户栏目专家坐堂 → Book.SavetoPDF()总是A4尺寸,如何变为Letter?


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

主题:Book.SavetoPDF()总是A4尺寸,如何变为Letter?

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


加好友 发短信
等级:婴狐 帖子:89 积分:720 威望:0 精华:0 注册:2015/4/28 10:09:00
Book.SavetoPDF()总是A4尺寸,如何变为Letter?  发帖心情 Post By:2015/7/22 15:07:00 [只看该作者]

我做了一个按钮,用代码基于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编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:89 积分:720 威望:0 精华:0 注册:2015/4/28 10:09:00
  发帖心情 Post By:2015/7/23 20:12:00 [只看该作者]

红老师您好,这段代码好复杂啊,我从哪里能学习它?

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

谢谢红老师。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2015/7/23 22:14:00 [只看该作者]

真是高手

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


加好友 发短信
等级:婴狐 帖子:89 积分:720 威望:0 精华:0 注册:2015/4/28 10:09:00
存储后依然是A4  发帖心情 Post By:2015/7/25 14:18:00 [只看该作者]

红老师,这段代码我加进去试了,但是pdf依然是A4的,不是Letter Size。

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

谢谢!

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/26 10:14:00 [只看该作者]

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


 回到顶部