EXCEL一个sheet一个默认打印机,怎么实现?
针对每个sheet(即工作表)写一个宏就能实现你所要求的。就提操作如下:
1、录制一个宏:
(1)打开excel文件并激活(即打开)一个工作表,如sheet1,
依次点击工具栏“工具”、宏、录制宏
(2)在打开的新工作窗口中,将“宏名”修改为 prt1,并点击确定按钮开始录制
按住ctrl+p启动打印,选择好想设置的默认打印机,然后确定
再依次点击工具栏“工具”、宏、停止录制
取消打印
(3)将步骤(2)在按顺序操作一遍,区别是:宏名改为prt2,打印机选择sheet2工作表需要的打印机
有几个工作表就如步骤(2)(3)那样操作几遍
2、(1)打开VBA编辑器(打开步骤如下图:)
(2)打开模块1
我们其实想要的只是右侧两个画红线的部分,就是那两个不同的打印机名称(注意打印机名后面的位置)
(3)双击VBA编辑器窗口左侧的“sheet1”,如下图
点击三角符号,将“通用”更换成worksheet、将“声明”替换成“selectionchange"
将prt1中的
Application.ActivePrinter = "Microsoft XPS Document Writer 在 Ne00:"
复制到新模块中,保存一下
(4)按照(3)中的操作,将sheet2、sheet3、、中添加上类似模块
然后保存并关闭VBA编辑器。
3、回到excel工作簿中,打印试一下吧!!!
提示:若是没有实现打印机自动更换,别着急,你只需要在打印每张工作表前先进行表格编辑(最简单的”编辑“动作就是双击任意无数据单元格)
参考资料: QQ1462322603
Sub 宏1()
Application.ActivePrinter = "Canon iR2016 UFRII LT 在 Ne01:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Canon iR2016 UFRII LT 在 Ne01:", Collate:=True
End Sub
Sub 宏2()
Application.ActivePrinter = "Canon iP1800 series 在 Ne02:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Canon iP1800 series 在 Ne02:", Collate:=True
End Sub
说明:看不懂也没事,录制一个宏,用CTRL+P来指定你要的打印机的宏,即可.一录制,然后就懂了.
可是这个每点击一下只能打印一张,我想能不能想打印几张都行的,谢谢
每张表里,是有多少打多少的,并不会只出现打印一页的事情发生.不按常规的方法直接打印,用宏来指定指印机,可以实现选择不同的打印机的方向.