以文本方式查看主题 - 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=149889) |
-- 作者:czy66ds -- 发布时间:2020/5/14 16:02:00 -- 尴尬的excel报表打印,寻求有经历的狐友高手解套 设计了一个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编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/5/14 16:33:00 -- 没有把这个新增加的纸张设置为这个默认打印机的默认纸张吧。 |
-- 作者:bahamute -- 发布时间:2020/5/14 20:45:00 -- 自定义纸张,设置默认。 |
-- 作者:czy66ds -- 发布时间:2020/5/14 21:35:00 -- 默认打印机的默认纸张都已经设置,但是不听话。感觉最后都被Excel接管。Excel的默认纸张坚定不移地是A4! |
-- 作者:czy66ds -- 发布时间:2020/5/14 21:42:00 -- 使用VBA的坎是: \'设置页面 .PaperSize = MSExcel.XlPaperSize.xlPaperA4 \'纸张大小 这个xlPaperA4 也没法针对24*14写出来。
|
-- 作者:有点蓝 -- 发布时间:2020/5/14 22:03:00 -- 不需要指定,会按照默认纸张使用的 |
-- 作者:czy66ds -- 发布时间: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控制代码吗?
|
-- 作者:有点蓝 -- 发布时间:2020/5/15 9:05:00 -- Dim Proc As New Process \'打开工作簿 Proc.File = fl Proc.Verb = "Print" \'指定动作 直接打印 Proc.Start() 改为 Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl) Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) Ws.PrintOut App.Quit
|
-- 作者:czy66ds -- 发布时间:2020/5/15 11:01:00 -- 测试报告: 1、打印代码按照8楼修改了代码 2、设置了默认打印机和默认页面尺寸 3、甚至Excel也进行了设置 4、运行结果: 没有按照24*14打印似乎还是按照A4打印的。 我觉得VBA代码中应该加入24*14的页面设置代码。可惜我对VBA是个彻底的菜鸟。 |
-- 作者:有点蓝 -- 发布时间:2020/5/15 11:09:00 -- 试试:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=54472&skin=0 |