工作中有时候需要用到Word打印一些测试证书,内容基本都一致,只有序列号部分嘀芟苒疾有变动,自已捣鼓了一段Vba程序,实现了简单的自动打印功能,遇到有几百张又挨喁钒序列号的时候,可以开启程序自动打印,自己就可以腾出手来做其它的事了。
工具/原料
word
winxp,win7,xin10
word2003,word2007
方法/步骤
1、复制以下代码;
2、SubautoSN()DimposXAsDoubleDimpo衡痕贤伎sYAsDoubleDimleftWordAsStri荏鱿胫协ngDimrightWordAsStringDimstartNumberAsStringDimcountAsIntegerDims1AsShapeposX=Selection.Information(wdHorizontalPositionRelativeToPage)posY=Selection.Information(wdVerticalPositionRelativeToPage)leftWord="abc"'序列号前缀startNumber="100000"rightWord=""'序列号后缀count=1'序列号的个数Fori=1TocountSets1=ActiveDocument.Shapes.AddTextbox(msoTextOrientationHorizontal,posX,posY,Selection.Font.Size*8,Selection.Font.Size*1.5)s1.TextFrame.TextRange.Font.Size=Selection.Font.Sizes1.TextFrame.TextRange.Font.Name=Selection.Font.Names1.Line.ForeColor.TintAndShade=1s1.TextFrame.MarginBottom=0s1.TextFrame.MarginTop=0s1.ZOrder(msoSendBehindText)s1.TextFrame.TextRange.Text=leftWord&startNumber+i-1&rightWordActiveDocument.PrintOut'打印前先在word内进行打印设置,如打印机,页数等s1.Delete'打印后删除文本NextiEndSub
3、打开需要打印的文件;
4、按alt+f11呼出vba编辑界面;
5、粘贴代码;
6、返回word文档设置打印参数;
7、光标停留在文档内需要打印序列号的位置;
8、进入vba编辑窗口,按小箭头运行;
9、可以修改的参数已经注释。