Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

直接指定打印机,打印excel表

马山杨梅  发表于:2013-01-02 10:28:55  
复制

电脑连接2台打印机,打印机名称分别为【针式打印机】(默认),和【激光打印机】。

打印内容是一个Excel工作表,现在需要在窗体的打印按钮代码中插入一段代码,直接选择用【激光打印机】来打印此表。

按钮代码如下:

'上面是导出数据到Excel工作表的代码,已省略....

Dim xlApp As Excel.Application
Dim xlBook As Workbook, xlSheet As Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlApp = New Excel.Application
Set xlBook = xlApp.Workbooks.Open("d:\My Documents\科目汇总.xls")  '打开科目汇总的Excel文件
Set xlSheet = xlBook.Worksheets(2)  '打开第2个工作表
xlApp.Visible = True    '显示
xlSheet.PrintOut     '打印
xlBook.Close SaveChanges:=False
xlApp.Quit               '退出

请帮我在上面这段代码中插入一点,使它能直接调用激光打印机来打印此表,期间不需要弹出任何选择框。

谢谢了!

 

Top
cspa 发表于:2013-01-02 21:15:07

xlSheet.PrintOut     '打印
语句前加一句

ActivePrinter = "\\阁下打印机的局域网IP地址\阁下打印机名称"
试试。如下:

......   

ActivePrinter = "\\阁下打印机的局域网IP地址(例如:192.168.1.1)\阁下打印机名称(例如:Lenovo LJ2400)"
xlSheet.PrintOut     '打印
    ......



马山杨梅 发表于:2013-01-03 10:51:32
我的2台打印机就连接在本电脑上的,单机,没有连接局域网。

cspa 发表于:2013-01-03 16:43:24

那就这样:

ActivePrinter = "\阁下打印机名称"



cspa 发表于:2013-01-03 18:12:28

更正:

那就这样:

ActivePrinter = “阁下打印机名称"

 



马山杨梅 发表于:2013-01-03 18:29:03
试过了,没用。

cspa 发表于:2013-01-04 09:00:54

你这样再试试:

Application.ActivePrinter = "激光打印机名称"

 xlSheet.PrintOut Copies:=1, ActivePrinter:= "激光打印机名称"

 



cspa 发表于:2013-01-04 09:06:28

PrintOut 方法

参阅应用于示例特性

打印指定对象。

expression.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName)

expression      必需。该表达式返回“应用于”列表中的一个对象。

From      Variant 类型,可选。打印的开始页号。如果省略该参数,将从起始位置开始打印。

To      Variant 类型,可选。打印的终止页号。如果省略该参数,将打印至最后一页。

Copies      Variant 类型,可选。要打印的份数。如果省略该参数,将只打印一份。

Preview      Variant 类型,可选。如果该值为 True,则 Microsoft Excel 打印指定对象之前进行打印预览。如果该值为 False(或者省略此参数),则立即打印该对象。

ActivePrinter      Variant 类型,可选。设置活动打印机的名称。

PrintToFile      Variant 类型,可选。如果该值为 True,则打印输出到文件。如果没有指定 PrToFileName,则 Microsoft Excel 将提示用户输入要输出文件的文件名。

Collate      Variant 类型,可选。如果该值为 True,则逐份打印每份副本。

PrToFileName      可选,Variant 类型。如果 PrintToFileTrue,则本参数指定要打印到的文件名。

说明

From 参数和 To 参数所描述的“页”指的是要打印的页,并非指定工作表或工作簿中的全部页。

示例

本示例打印当前活动工作表。

ActiveSheet.PrintOut


马山杨梅 发表于:2013-01-04 13:16:24

根据您的提示,将打印这句代码改成

xlSheet.PrintOut , , , , "激光打印机"    '打印

就一切OK了,真的在不改变默认打印机的情况下,直接指定了打印机。谢谢您啊!



总记录:8篇  页次:1/1 9 1 :