Foxtable(狐表)用户栏目专家坐堂 → [求助]怎么打开excel的printsetting


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

主题:[求助]怎么打开excel的printsetting

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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
[求助]怎么打开excel的printsetting  发帖心情 Post By:2014/11/2 19:28:00 [只看该作者]

用模板的形式生产电子表格,希望在打印前打开excel文件的打印设置窗口怎么弄?
Dim Proc As New Process
    Proc.File = "Attachments\print_lables.xls"
    Proc.Verb = "???"
    Proc.Start()

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


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

 预览?

 

 

打印输出

利用PageSetup属性,可进行各种打印设置。如:


Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\Report.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
With Ws.PageSetup
    '设置打印区域
    .PrintArea = "A1:H10"   '打印工作表的指定区域
    .PrintArea = Ws.UsedRange.Address   '打印工作表的使用区域
    .PrintTitleColumns = Ws.Columns("A:H").Address   '打印列标题(在每一页的左边重复出现)
    .PrintTitleRows = Ws.Rows(1).Address '打印行标题(在每一页的顶部重复出现)
    '设置页面
    .PaperSize = MSExcel.XlPaperSize.xlPaperA4   '纸张大小
    .LeftMargin = 30 '页面左边距
    .RightMargin = 30'页面右边距
    .TopMargin = 50  '页面顶部边距
    .BottomMargin = 50   '页面底部边距
    .HeaderMargin = 40   '页面顶端到页眉的距离
    .FooterMargin = 40   '页脚到页面底端的距离
    .CenterHorizontally = True   '页面水平居中
    .CenterVertically = True '页面垂直居中
    '设置页眉
    .LeftHeader = "打印日期: &D" '左页眉,&D表示日期
    .CenterHeader = "&""隶书,常规""&20 数据分析表"   '中页眉,并将字体设置为隶书和20号字大小
    .RightHeader = "打印者: " & App.UserName '右页眉
    '设置页脚
    .LeftFooter = "文件: &F  &A" '左页脚,&F表示文件名,&A表示工作表名
    .CenterFooter = ""   '中页脚为空
    .RightFooter = "第 &P 页  共 &N 页"  '右页脚
    '打印模式
    .Orientation = MSExcel.xlPageOrientation.xlPortrait  '纵向打印
    .Orientation = MSExcel.xlPageOrientation.xlLandscape '横向打印
    .PrintHeadings = True'打印行号和列标
    .PrintGridlines = True   '打印网格线
    '缩放打印
    .Zoom = False'以下设置将缩印在一页内
    .FitToPagesWide = 1  '按照1页的宽度打印
    .FitToPagesTall = 1  '按照1页的高度打印
End With
App.Visible = True
Ws.PrintPreview
App.Quit


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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/11/2 19:47:00 [只看该作者]

谢谢甜总。。。应该能实现。。我的代码是
Dim Book As New XLS.Book(ProjectPath & "ReportModels\Labels.xls") '打开模板
        Dim Sheet As XLS.Sheet = Book.Sheets(0)
        'Sheet(3,9).Value = "<日期 = # " & Date.Today & "#>"  '写入打印条件
        Book.Build() '生成报表
        Book.Save("Attachments\print_labels.xls")
        Dim Proc As New Process
        Proc.File = "Attachments\print_labels.xls"
        proc.Verb = "print" ‘这里我想问一下,有没有什么命令可以不直接打印,而是打印设置窗口,让用户选择打印机,因为多台打印机(一个专门打印小标签的)。。。
        Proc.Start()

如果不行,也可以用你上面代码?应该有可以呼出printsetting什么的吧?



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


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

 不能呼出,只能用代码设置。

 

1、你先生成报表;

 

2、用vba打开,用代码设置打印


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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/11/2 19:53:00 [只看该作者]

好的。。只能这样了。。
但是我的papersize是定制的 55*122要怎么设了?
.PaperSize = MSExcel.XlPaperSize.xlPaperA4   

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


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

 1、先在电脑打印机那里设置自定义纸张,然后对应引用变量。

 

 2、用代码设置 http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=54472&replyID=&skin=1

 


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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/11/2 19:57:00 [只看该作者]

不能回复,看不到代码啊!!!!

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


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

 下载信息  [文件大小:13.1 KB  下载次数:60]
图片点击可在新窗口打开查看点击浏览该文件:给打印机添加自定义纸张.rar

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


加好友 发短信
等级:童狐 帖子:265 积分:1806 威望:0 精华:0 注册:2014/3/29 9:27:00
  发帖心情 Post By:2014/11/2 20:08:00 [只看该作者]

收到!谢谢!

 回到顶部