Foxtable(狐表)用户栏目专家坐堂 → [求助]纸张问题


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

主题:[求助]纸张问题

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


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
[求助]纸张问题  发帖心情 Post By:2015/6/1 17:30:00 [只看该作者]

如何根据纸张类型返回值?

纸张类型
8

A3

9 A4
11 A5
12 B4
13 B5
66 A2
70 A6

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


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

 比如

 

Dim prtdoc As new Printing.PrintDocument()
prtdoc.PrinterSettings.PrinterName = DefaultPrinter
msgbox(prtdoc.PrinterSettings.PaperSizes(8-1).papername)


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


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
  发帖心情 Post By:2015/6/1 17:43:00 [只看该作者]

老师,反了!
如:在一下拉列表框中选择A4,则输出值为9
[此贴子已经被作者于2015/6/1 17:42:45编辑过]

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


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

Dim prtdoc As new Printing.PrintDocument()
prtdoc.PrinterSettings.PrinterName = DefaultPrinter
For Each ps As System.Drawing.Printing.PaperSize In prtdoc.PrinterSettings.PaperSizes  '生成打印机的纸张下拉列表
    If ps.PaperName = "A4" Then
        msgbox(ps.RawKind)
        Exit For
    End If
Next

 


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


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
  发帖心情 Post By:2015/6/1 18:16:00 [只看该作者]

谢谢

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


加好友 发短信
等级:七尾狐 帖子:1791 积分:12764 威望:0 精华:1 注册:2013/7/18 15:51:00
  发帖心情 Post By:2015/6/1 18:32:00 [只看该作者]

在老师的指导下,将其写成一个自定义函数,分享给大家
''函数名:获取纸张值,
''作用:返回纸张值,在报表中常用
''参数0:当前打印机
''参数1:纸张类型
''返回:纸张值

Dim str As String = Args(1)   ''纸张类型
Dim i As Integer   ''纸张值
Dim prtdoc As new Printing.PrintDocument()
prtdoc.PrinterSettings.PrinterName = Args(0)   ''DefaultPrinter  'DefaultPrinter
For Each ps As System.Drawing.Printing.PaperSize In prtdoc.PrinterSettings.PaperSizes  '生成打印机的纸张下拉列表
    If ps.PaperName = str Then
        i = ps.RawKind
        Return i
        Exit For
    End If
Next
If i = 0 Then
    MessageBox.Show("当前打印机不支持该纸张!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error)
    Return Nothing
End If

 回到顶部