Foxtable(狐表)用户栏目专家坐堂 → [求助]专业报表中打印机默认纸张设置


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

主题:[求助]专业报表中打印机默认纸张设置

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
[求助]专业报表中打印机默认纸张设置  发帖心情 Post By:2018/3/24 17:19:00 [只看该作者]

专业报表中代码预览

Dim doc As New PrintDoc() '定义一个报表
doc.PageSetting.PaperKind = 1
 '纸张类型改为B5
doc.Preview()
'预览

预览是没有问题的,但是打印出来一般都是A4纸,因为一台电脑上的打印机有多个,打不同的表要用到不同的打印机,有时一个打印机会打多种纸张的表单。用下面的代码可以切换默认打印机

Dim obj As object = CreateObject("WScript.Network")
obj.SetDefaultPrinter("打印机名")

有没有代码可以切换默认打印机下的默认纸张?


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


加好友 发短信
等级:超级版主 帖子:110750 积分:563676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/3/24 17:24:00 [只看该作者]

设置不了

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2018/3/26 7:39:00 [只看该作者]

以下是引用有点蓝在2018/3/24 17:24:00的发言:
设置不了

现在的需求是,打印后,有一列数据表来记录打印次数,原想的是不预览,直接打印,打印次数加减,现在不行,哪在预览哪里,如果点了打印,就打印次数加1,如果没有就不变化,这个有办法解决吗?


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


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

以下是引用ajie5211在2018/3/26 7:39:00的发言:

现在的需求是,打印后,有一列数据表来记录打印次数,原想的是不预览,直接打印,打印次数加减,现在不行,哪在预览哪里,如果点了打印,就打印次数加1,如果没有就不变化,这个有办法解决吗?

 

预览这样做,打印按钮单独做一个按钮

 

下载信息  [文件大小:296.0 KB  下载次数:21]
图片点击可在新窗口打开查看点击浏览该文件:嵌入专业报表.table

 

下载信息  [文件大小:296.0 KB  下载次数:39]
图片点击可在新窗口打开查看点击浏览该文件:嵌入专业报表.table


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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2018/3/26 9:17:00 [只看该作者]

思路懂了,只是不知道怎么写这个打印按钮啊,不是专业人员啊,帮助里没的,用到了其它东西的,都蒙圈了。

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


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

以下是引用ajie5211在2018/3/26 9:17:00的发言:
思路懂了,只是不知道怎么写这个打印按钮啊,不是专业人员啊,帮助里没的,用到了其它东西的,都蒙圈了。

 

打印按钮,和打印预览的按钮是一样的,最后把Preview改成print即可。


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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2018/3/26 10:12:00 [只看该作者]

以下是引用有点甜在2018/3/26 9:43:00的发言:

 

打印按钮,和打印预览的按钮是一样的,最后把Preview改成print即可。

我现在用的就是print,问题是打印机和纸张调整不过来啊。我想要letter纸张,可打出来总是A4的进纸啊。现在就是这个纸张切不好啊。因为没有代码可以实现直接修改默认纸张,我想是不是可以Preview时,点打印了,就打印次数加1,因为Preview里面的打印是可以选择打印机和纸张的。如果直接用print,哪打印纸张又没的选择了。


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


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

如果直接使用print,可以指定打印纸张的吧?如代码

 

Dim doc As New PrintDoc() '定义一个报表
doc.PageSetting.PaperKind = 13 '纸张类型改为B5
doc.Print

 

甚至这样

 

Dim doc As New PrintDoc() '定义一个报表
Dim ps As new System.Drawing.Printing.PrinterSettings
ps.Copies = 2   '设置份数
ps.DefaultPageSettings.PaperSize = ps.PaperSizes(13)
doc.Print(ps)     '打印


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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2018/3/26 16:00:00 [只看该作者]

以下是引用有点甜在2018/3/26 10:39:00的发言:

如果直接使用print,可以指定打印纸张的吧?如代码

 

Dim doc As New PrintDoc() '定义一个报表
doc.PageSetting.PaperKind = 13 '纸张类型改为B5
doc.Print

 

甚至这样

 

Dim doc As New PrintDoc() '定义一个报表
Dim ps As new System.Drawing.Printing.PrinterSettings
ps.Copies = 2   '设置份数
ps.DefaultPageSettings.PaperSize = ps.PaperSizes(13)
doc.Print(ps)     '打印

用这个代码PDF打印机生成的PDF错误,我去实体上试试。

 


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


加好友 发短信
等级:四尾狐 帖子:820 积分:5641 威望:0 精华:1 注册:2015/11/28 14:00:00
  发帖心情 Post By:2018/3/27 8:36:00 [只看该作者]

实体打印机上测试可以,晕了,早在一周前我就用“doc.PageSetting.PaperKind = 1”这个代码了,一直用的Adobe PDF打印机测试,怎么测试怎么不对。没想到,实体的与Adobe PDF打印机差异这么大。看来以后还是不能省纸啊,最好搬个打印机放边上专门做测试。


 回到顶部