在word中如何建立一个宏让页码打印一张加一个数

2024-11-22 18:10:45
推荐回答(2个)
回答(1):

在word的工具-宏-宏....中新建名为 MyPrint 的宏命令,然后单击创建,把代码框中的内容全部清空后,将如下代码原样粘贴进来保存即可,然后运行该宏即可实现你的目的(注意:如果你以后打印时,不是默认打印3张,而是其他张数,你得再次打开宏命令对话框,选择MyPrint宏名,然后单击编辑,打开代码窗口,将For后面的数字3修改为你本次所希望的打印份数后保存即可。注意:本宏的适用条件是——该Word文档只有一页,且在执行该宏之前得必须先人工在页脚处插入页码不然打印出来的第一页是没有页码的但随后的就自动有页码了。)
Sub MyPrint()
For i = 1 To 3 '这里的3指的是你本次打印希望打印多少张,如果需要打印100张,将3改成100即可,其他不用动,依次类推。
ActiveDocument.PrintOut '向打印机发送打印内容和指令
waitTime = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 3) '获得本次打印指令发送的时刻加上延时秒数作为参照
'由于打印一份需要几秒钟时间,每发送一次打印指令,延时3秒,根据打印机速度可调节打印延时数,最多延时6秒,这里延时指定为3秒。
Do While Time < waitTime '空循环,延时未到继续延时的目的
'每打印一张延时3秒
Loop
'以下为打开Word的插入页码对话框和设置页码起始页的对话框对页码进行每打印一页自动将页码加1的设置操作,但是由于采用了VBA来实现,这两个对话框是不显示出来的
With Selection.Sections(1).Headers(1).PageNumbers
.NumberStyle = wdPageNumberStyleArabic
.HeadingLevelForChapter = 0
.IncludeChapterNumber = False
.ChapterPageSeparator = wdSeparatorHyphen
.RestartNumberingAtSection = True
.StartingNumber = .StartingNumber + 1 '每打印一页,页码自动加1
End With
Selection.Sections(1).Footers(1).PageNumbers.Add PageNumberAlignment:= _
wdAlignPageNumberRight, FirstPage:=True
Next i
End Sub

回答(2):

简单提示,
录制一个打印的宏,页码用单元格的值代替,比如说是CELLS(20,18),即R20,假设要打印100张,则,代吗简略如下:

sub printpagejia()
dim i,j as integer
cells(20,18)=1
for i=1 to 100
录制的打印代码,(不好意思,家里没打印机)
cells(20,18)=cells(20,18)+1
next
end sub