以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]EXCEL报表,直接打印时,如何禁止自动旋转 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=52585) |
-- 作者:33888 -- 发布时间:2014/6/18 17:05:00 -- [求助]EXCEL报表,直接打印时,如何禁止自动旋转 禁止自动旋转 打印报表的时候,系统默认会自动根据实际纸张的大小,判断是否需要旋转打印内容,以便更好地配合纸张。 |
-- 作者:33888 -- 发布时间:2014/6/18 17:05:00 -- Dim doc As New
PrintDoc() |
-- 作者:33888 -- 发布时间:2014/6/18 17:06:00 -- 上面是帮助上写的,如果纸张的宽度超过高度,要加上这行代码
|
-- 作者:33888 -- 发布时间:2014/6/18 17:07:00 -- 我是用下面的方法设置EXCEL报表的: 页面设置 PrintSetting有很多子属性,其中和页面设置相关的有: PaperKind: 纸张类型代码 |
-- 作者:Bin -- 发布时间:2014/6/18 17:10:00 -- Landscape: 逻辑型,是否横向打印 设置这个看吧 |
-- 作者:33888 -- 发布时间:2014/6/18 17:13:00 -- 设了横向打印,预览正常,打印出来自动旋转了。
|
-- 作者:33888 -- 发布时间:2014/6/18 17:13:00 -- 这个是打印代码:Dim Book As New XLS.Book(ProjectPath & "Attachments\\成品出库2.xls") \'打开模板 Dim file As String = ProjectPath & "Reports\\成品出库.xls" Book.Build() \'生成细节区 Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 With Sheet.PrintSetting .PaperKind = 11 \'设为A5纸 .LandScape = True \'横向打印 .MarginLeft=10 \'左边距,单位为毫米 .MarginRight= 10 \'右边距,单位为毫米 .MarginTop = 10 \'上下边距 .MarginBottom = 10 \'下边距 End With End If Book.Save(file) \'保存工作簿 Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(file) Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) Ws.PrintOut \'直接打印 wb.save wb.close App.Quit |
-- 作者:有点甜 -- 发布时间:2014/6/18 17:17:00 -- 这是不可能的。
你单独弄一个excel表格,设置成横向打印,看看打印情况。 |
-- 作者:33888 -- 发布时间:2014/6/18 17:22:00 -- 用系统菜单上设计报表预览报表那里,生成一个报表,打印出来也是自动旋转了,是不是我报表设置有问题? |
-- 作者:33888 -- 发布时间:2014/6/18 17:22:00 -- 用系统菜单上设计报表预览报表那里,生成一个EXCEL文件,打印出来也是自动旋转了,是不是我报表设置有问题? |