Foxtable(狐表)用户栏目专家坐堂 → 尴尬的excel报表打印,寻求有经历的狐友高手解套


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

主题:尴尬的excel报表打印,寻求有经历的狐友高手解套

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


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
尴尬的excel报表打印,寻求有经历的狐友高手解套  发帖心情 Post By:2020/5/14 16:02:00 [显示全部帖子]

设计了一个excel报销单模板,在打印环节遇到困难。
使用的打印纸规格为241mm二等分,这样打印页面应设置为24*14.
虽然已经将默认打印机设置成24*14的规格,但是使用代码:
Dim Proc As New Process '打开工作簿
Proc.File = fl
Proc.Verb = "Print" '指定动作 直接打印
Proc.Start()
但是实际打印时,还是被Excel强行接管,excel顽固地使用A4规格打印。
就是说,代码Proc.Verb = "Print"不能直接使用默认打印机设置的页面规格去打印。

没办法只好打印每一单时去掉代码Proc.Verb = "Print"而采用预览打印的办法,每一单都要重新设置一下页面再打印。
这样打印工作效率太低,不被操作者待见,只能被吐槽。只能尴尬面对。

为了提高工作效率,原本是要对选择的文档连续打印的,更无望了。

至于采用代码进行页面设置
Dim Book As New XLS.Book
Dim
Sheet As XLS.Sheet = Book.Sheets(0)
With
Sheet.PrintSetting
    .PaperKind =
9 '设为A4纸

这个打印纸241mm二等分为非国际标准,找不到纸张编号
狐表帮助提供的纸张编号与类型表找不到它的身影。

希望解决了此问题的高手能现身说法。
最后声明,我说的尴尬是我在用户面前尴尬。
[此贴子已经被作者于2020/5/14 16:07:41编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2020/5/14 21:35:00 [显示全部帖子]

默认打印机的默认纸张都已经设置,但是不听话。感觉最后都被Excel接管。Excel的默认纸张坚定不移地是A4!

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


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2020/5/14 21:42:00 [显示全部帖子]

使用VBA的坎是:

'设置页面
    .PaperSize = MSExcel.XlPaperSize.xlPaperA4   '纸张大小

这个xlPaperA4 也没法针对24*14写出来。

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


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2020/5/15 8:56:00 [显示全部帖子]

你指导的连续打印代码在:
excel报表可以连续打印吗? - 专家坐堂 - Foxtable(狐表) - 新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!  http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=149753&authorid=0&page=0&star=2

能够帮助我加上VBA控制代码吗?

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


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2020/5/15 11:01:00 [显示全部帖子]


测试报告:
1、打印代码按照8楼修改了代码
2、设置了默认打印机和默认页面尺寸

图片点击可在新窗口打开查看此主题相关图片如下:snipaste_打印机1.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:snipaste打印机2.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:snipaste打印机3.png
图片点击可在新窗口打开查看
3、甚至Excel也进行了设置
4、运行结果:
没有按照24*14打印似乎还是按照A4打印的。

我觉得VBA代码中应该加入24*14的页面设置代码。可惜我对VBA是个彻底的菜鸟。





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


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2020/5/15 11:10:00 [显示全部帖子]

二单得打印结果:


图片点击可在新窗口打开查看此主题相关图片如下:微信图片_打印结果.jpg
图片点击可在新窗口打开查看



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


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2020/5/15 11:13:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:微信图片_202005151.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2020/5/15 11:40:00 [显示全部帖子]


有点甜项目测试报告:

图片点击可在新窗口打开查看此主题相关图片如下:snipaste_有点甜1.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:snipaste_有点甜2.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2020/5/15 13:14:00 [显示全部帖子]

自定义纸张写在代码中吗?
Dim cps As new CustomPaperSize.CustomPaperSize()
cps.SetPrintForm(e.Form.Controls("ComboBox1").Text,"我新增的自定义纸张", 100*38, 100*27)
msgbox("添加成功")

改写这个吗:100*38, 100*27?
为什么写两个?

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


加好友 发短信
等级:七尾狐 帖子:1691 积分:16460 威望:0 精华:0 注册:2013/7/31 13:03:00
  发帖心情 Post By:2020/5/15 16:25:00 [显示全部帖子]

这个也没有搞成,呜呼。
 不论设置页面是240*140 还是240*280 得到的paperkind都是146.
写入代码
Dim Book As New XLS.Book
Dim
Sheet As XLS.Sheet = Book.Sheets(0)
With
Sheet.PrintSetting
    .PaperKind = 146
 
'
不起什么作用。呜呼。

 回到顶部
总数 11 1 2 下一页