以文本方式查看主题

-  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=33696)

--  作者:晕了快扶我
--  发布时间:2013/5/22 21:13:00
--  [分享]Excel指定打印机的代码

喝水不忘挖井人,之前提问官方没有给出答案,不过帮助里有,搜索论坛发现也有不少和我一样的菜鸟有这样的问题,贴出来分享下代码

 

\'==========打印机遍历代码,我放在窗口的afterload事件

Dim cmb As WinForm.ComboBox = e.form.Controls("打印机选择")
For Each p As String In InstalledPrinters
    cmb.Items.Add(p)
Next
cmb.Text = GetConfigValue("pntname1","请选择打印机")

 

\'=================================打印按钮代码

Dim pnt As WinForm.ComboBox = e.Form.Controls("打印机选择")\'取得打印机名称
Dim pntn As String = pnt.Text
SaveConfigValue("pntname1",pntn)

Dim Book As New XLS.Book(ProjectPath & "Attachments\\表格名.xls")
Dim fl As String = ProjectPath & "Reports\\表格名.xls"
Book.Build() \'生成细节区
Book.Save(fl) \'保存工作簿

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(ActivePrinter:=pntn)
App.quit \'这个一定要写,退出进程里的EXCEL,否则会提示XXX已经打开

 

帮助里有写

Ws.PrintOut(From:=1,To:=10,Copies:=3,Preview:=True,ActivePrinter:="pdfFactory Pro")

打印第1-10页,打印份数为3,打印前先预览,指定的打印机为"pdfFactory Pro"

 



 


--  作者:夕然
--  发布时间:2013/5/22 21:15:00
--  
用的真深入,我没有这么深入呢
--  作者:sloyy
--  发布时间:2013/5/22 22:40:00
--  
收藏备用
--  作者:Neha
--  发布时间:2013/5/23 8:33:00
--  
打印机设置怎么搞,注意不是打印设置是打印几设置
--  作者:晕了快扶我
--  发布时间:2013/5/23 14:14:00
--  
以下是引用Neha在2013-5-23 8:33:00的发言:
打印机设置怎么搞,注意不是打印设置是打印几设置

这个跟厂商设定的DLL有关系吧

[此贴子已经被作者于2013-5-23 14:14:20编辑过]

--  作者:xuzihang
--  发布时间:2023/11/15 14:54:00
--  
我测试这个不好用呢,提示   无法使用本格式保存该工作簿,至少一个表单包含太多的列。