+ -
当前位置:首页 → 问答吧 → 怎样实现word文档一页多版双面打印

怎样实现word文档一页多版双面打印

时间:2008-10-24

来源:互联网

一个word文档有数页,为了节省纸张,想一页A4纸上打印4版,并且后面打印后裁剪装订成册,但是发现页码不对,求问如何使用VBA编程解决此问题,能够实现word文档一页多版双面打印,并且页码顺序正确!

我的思路是:1、利用WORD设置一页多版,并先打印奇数页。

                      2、怎样利用VBA将偶数页打印到纸张的另一面,并且打印顺序为:4、2、8、6、12、10、16、14........

           有朋友利用word打印第2步,并手工按以上顺序输入打印,但如果页数多较麻烦,特求各位大虾利用VBA编程解决!

   在线等待!!!!谢谢!!

[此贴子已经被作者于2008-10-24 22:20:48编辑过]

作者: rjg   发布时间: 2008-10-24

网上下载个虚拟打印程序fineprint试试。

作者: 子恺   发布时间: 2008-10-27

不行,无法满足需要!

作者: rjg   发布时间: 2008-10-27

请高手解决!谢谢!

作者: rjg   发布时间: 2008-10-28

这个问题好解决
我找找,先
若找到就发上来

[ 本帖最后由 yangfans 于 2008-10-28 22:57 编辑 ]

作者: yangfans   发布时间: 2008-10-28

还在盼望高手解决!

作者: rjg   发布时间: 2008-10-29

这个问题很不好处理
楼主可以看看《word排版艺术》这本书中有关商业书的制作过程简介,的确,若干张书单页类似楼主所说,事先印在一张大纸上,后期对折又对折几次后装订,然后再重压,最后大刀切下,这样一本一本暂新整齐的书就生成了...

但Word定位于日常办公,支持的页面大小有限,既使能做出上述的效果,那最后得到的书真是mini书了,况且一般人是没有这那些大型的设备的。

Word只支持书籍折页之类的双版打印。
另外Word小册子打印功能也不错,将A3或A4等页面对折打印装订成小册子,页码自动生成。

作者: c81   发布时间: 2008-10-29

盼高手解决!

作者: rjg   发布时间: 2008-11-03

嘿嘿,这个我打印过一次,楼主的意思是要打印成像小手册那样子吧?正反面都要打印,而且页码是连续的?不过呢,但实际操作起来有很多不同情况。
主要就是排版时候的纸张大小,和版面的设置。
如果是照A4排一版的话,就必须用打印机的多版打印功能,这个最方便。
如果在A4张里已经排好了四版,那就必须重新排版,不然绝对打不了。
如果纸张大小被你调整成A4的1/4大小的话,也一样要从打印机里设置。

主要就是要打印机的缩放功能、多版打印、还有奇偶页等设置。你自己试试吧?

没有文档,我只能告诉你这些了。

作者: lumben   发布时间: 2008-11-03

根本就不用VBA,直接从打印机上实现。只是开始的时候要多测试几次。

作者: lumben   发布时间: 2008-11-03

你的这个问题使用VBA解决如下:

Sub myprint()
Dim i As Integer, j As Integer, m As Integer, s As String
m =  ActiveDocument.BuiltInDocumentProperties(wdPropertyPages)
' 取得文档页数
If m Mod 4 = 0 Then
  j = 4
  i = 2
s = ""
Do While i <= m
         s = s & i & "," & j & ","
    i = i + 4
    j = j + 4
Loop
ss = Left(s, Len(s) - 1)
' 去掉最后一个逗号
   Application.PrintOut FileName:="", Range:=wdPrintRangeOfPages, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:=ss, PageType:= _
        wdPrintAllPages, ManualDuplexPrint:=False, Collate:=True, Background:= _
        True, PrintToFile:=False, PrintZoomColumn:=2, PrintZoomRow:=1, _
        PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
Else
MsgBox "您的文档页数不是4的倍数,请重新设置页面。"
End If
End Sub

以上代码仅针对你双面打印偶数页时所遇问题,未经测试,请你自己完善。
针对拼页进行编程实际上就是对页面进行重新排序,你可以参照以上代码进行4页、6页,甚至16页的拼页编程,除此之外,还应结合打印机(或印刷机)的出纸方式才能最终确定出纸方式。
目前有很多的复印机、打印机有双面打印功能。你完全可以调出word的[页面设置]的[页边距]选单,选择[多页]下的[书籍折页],不必编程就可以实现你所谓的双面打印功能。
如果你不想编程就能实现特殊打印,你可以使用其它软件。比如把word文档虚拟打印成pdf格式的文档,然后使用acrobat 的插件quite imposing plus进行拼页实现各种简单的拼页打印。
如果你的页数不是很多,文字量不是很大,图形图像双比较多,使用coreldraw等软件,不但可以使你的设计更细腻,而且还提供拼页插件让你随意拼版。

不知道以上内容对你有没有帮助。

[ 本帖最后由 xy.xuyong 于 2008-11-29 15:47 编辑 ]

作者: xy.xuyong   发布时间: 2008-11-29

谢谢,大侠,不错的思路!

作者: rjg   发布时间: 2008-11-30

没想到到如今都没有人能彻底解决这个问题,高手都到那里去了?

作者: qin3230   发布时间: 2009-06-23

就像樓主所說的,只要在列印對話框裡按順序填上就行了。

我之前也有這樣的需求,手動的確麻煩,所以就用Excel做了一個頁碼順序的計算公式,
當時只需求一張紙印雙面各兩頁,印後要對折,所以只是針對此目的而設計,
但最後並沒有完成,因為後來不是很需要。

附上來,拋磚引玉,那時還沒學VBA,說不定用VBA會更有彈性。

我有時也會利用或配合其他印表機,譬如fineprint, acrobat, ps印表機印成ps檔,看功能是不是剛好符合。

附件

對折雙面列印頁碼序.rar(36.44 KB)

2009-6-23 18:54, 下载次数: 9

作者: linyancheng   发布时间: 2009-06-23

其实为了节约纸张的需要,真希望有哪位高人能够完善一下~

作者: yjxhfy   发布时间: 2011-03-23