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

在word中如何建立一个宏让页码打印一张加一个数,第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

打开文件,点击“工具”-宏-录制新宏,给“宏”命名,如“Macro1”,“将宏保存在”项点选“所有文档Normal.dot”,开始录制宏:点击“视图”-页眉和页脚-插入-时间和日期-(日期和时间可做两次插入,格式、字体及对齐方式自定),停止录制保存即可。在插入时间和日期时,一定要勾选“自动更新”。

参考如下代码:

Sub RunOnTime()

Application.OnTime "12:12", "RunMe"

End Sub

Sub RunMe()

MsgBox "这是你要运行的宏!"

End Sub

如上述代码所示,RunMe是你要在指定时间运行的过程,而你只要将RunOnTime过程中的时间 "12:12" 改成你要运行的时间,然后运行RunOnTime过程即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11592359.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存