VB.NET2010 编程实现Word双面打印
来源:互联网 发布:ios 数组替换指定位置 编辑:程序博客网 时间:2024/04/29 11:59
先上成品图一张。
起因:
家里有一台激光打印机,便宜货,无法实现自动双面打印,由于要打印资料,本着节约纸张,绿色生活的理念(其实纸张很贵 - -||,不双面打不行哇),手动送纸,翻页,实现双面打印,非常麻烦
解决方案:
1、先顺序打印奇数页;
2、后逆序打印偶数页;
按照以上方法,打印完到手上的纸张为正确的顺序。
难点:
VB.NET操作word打印。
核心Code:
Private Sub btnBroswer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBroswer.Click Dim dlg As New OpenFileDialog dlg.Title = "请选择一个待打印的Word文档" dlg.Filter = "所有文件|*.*|Word2003|*.doc|Word2007|*.docx" dlg.InitialDirectory = Environment.SpecialFolder.DesktopDirectory dlg.ShowDialog() If dlg.FileName <> "" Then txtPath.Text = dlg.FileName strPrintFirst = "" strPrintSecond = "" strPrintThird = "" btnPrint1.Enabled = False btnPrint2.Enabled = False btnPrint3.Enabled = False '隐藏word程序 oWordApplic.Visible = False oDocument.Close(Word.WdSaveOptions.wdDoNotSaveChanges) '打印待打印的word文档 oDocument = oWordApplic.Documents.Open(txtPath.Text, Missing, True, Missing, Missing, Missing, Missing, Missing, Missing, Missing, Missing, True, Missing, Missing, Missing, Missing) '获取页面总页数 iTotalPages = oDocument.ComputeStatistics(WdStatistic.wdStatisticPages) If iTotalPages Mod 2 Then '页面为奇数 For i = 1 To iTotalPages - 1 Step 2 strPrintFirst &= i & "," Next For i = iTotalPages - 1 To 2 Step -2 strPrintSecond &= i & "," Next strPrintThird = iTotalPages.ToString() Else '页面为偶数 For i = 1 To iTotalPages Step 2 strPrintFirst &= i & "," Next For i = iTotalPages To 2 Step -2 strPrintSecond &= i & "," Next End If strPrintFirst = strPrintFirst.Substring(0, strPrintFirst.Length - 1) strPrintSecond = strPrintSecond.Substring(0, strPrintSecond.Length - 1) If iTotalPages = 1 Then GroupBox1.Text = "打印信息:" & iTotalPages & "页/1次打印" btnPrint1.Enabled = True btnPrint2.Enabled = False btnPrint3.Enabled = False Exit Sub End If If strPrintThird <> "" Then GroupBox1.Text = "打印信息:" & iTotalPages & "页/3次打印" btnPrint1.Enabled = True btnPrint2.Enabled = True btnPrint3.Enabled = True Else GroupBox1.Text = "打印信息:" & iTotalPages & "页/2次打印" btnPrint1.Enabled = True btnPrint2.Enabled = True btnPrint3.Enabled = False End If End If End Sub
Private Sub btnPrint1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint1.Click If MsgBoxResult.Yes = MsgBox("请确认打印机已经打开,纸张足够?", MsgBoxStyle.YesNo + MsgBoxStyle.Information, "无痕软件") Then btnPrint1.Enabled = False oDocument.PrintOut(Range:=4, Pages:=strPrintFirst) End If End Sub
源码+编译程序下载地址
百度网盘编译程序下载(无源码)
注意:需要安装office2007方可正常运行。
0 0
- VB.NET2010 编程实现Word双面打印
- 双面小册子--WORD文档打印
- word 手动双面打印设置
- VB.Net2010 下的sock5代理实现
- Office 如何双面打印Word文档
- 双面打印
- 普通打印机如何才能实现双面打印呢
- VB.NET2010 下HTTP代理浏览网页的实现
- 如何在不支持双面打印的打印机上实现双面打印
- 【VB.NET2010】注册表写入方法
- ubuntu10.04网络打印机设置及openoffice实现双面打印
- smartforms 双面打印 设置
- rm双面打印
- 打印机 双面打印
- 双面打印技巧
- 【VB.NET2010】VB.NET的AES加密
- VB打印word文件,vb查找替换word文件
- 【VB.NET2010】多线程程序编写技术分析
- iOS7中Objective-C和Foundation的新特性
- C++构造函数
- C语言中常见的内存错误与解决方法
- 终端显示大号彩色字符
- OCP 1Z0 051 40
- VB.NET2010 编程实现Word双面打印
- Squid日志TCP命中率字段详解
- 解一道数学题
- css多重样式优先级
- BSD Socket
- Light-1037 Agent 47 DP
- MyEclipse安装插件的几种方法
- 界面上添加以及编辑图片
- 用指针编写一函数求三个整数的最大值