对于工作,我们必须手动对原始文件进行分页。基本上在每个人的底部都印有页码。我有一个模板,该模板的页脚带有页码,可以将原件放到打印机中,然后将分页打印到底部,但是,就目前情况而言,我必须为每个页码按Ctrl + Enter有时是数百个,有时是数千个。
是否可以打开模板并有一个弹出窗口询问我要多少页,所以我用分页预先填充了X个空白页面的文档?
对于工作,我们必须手动对原始文件进行分页。基本上在每个人的底部都印有页码。我有一个模板,该模板的页脚带有页码,可以将原件放到打印机中,然后将分页打印到底部,但是,就目前情况而言,我必须为每个页码按Ctrl + Enter有时是数百个,有时是数千个。
是否可以打开模板并有一个弹出窗口询问我要多少页,所以我用分页预先填充了X个空白页面的文档?
Private Sub Document_New()
Dim myResult As String
myResult = InputBox("How many pages?")
If myResult = "0" Then Exit Sub
ActiveDocument.Paragraphs(1).Range.InsertAfter Text:=CStr(String$(CLng(myResult) - 1,Chr$(12)))
Exit Sub
End Sub
@FreeFlow,您的代码工作得很好,除了需要在您的ActveDocumnet行中添加“ -1”,并在End Sub之前添加Exit Sub。感谢框架可以解决此问题。
,如果将以下宏放入模板中,则每次在基于该模板创建新文档时它将运行。
Public Function AutoNew()
Dim myResult As String
myResult = InputBox("How many pages?")
If myResult = "0" Then Exit Sub
ActiveDocument.Paragraphs(1).Range.InsertAfter Text:=CStr(String$(CLng(myResult),Chr$(12)))
End Function
根据@CindyMeisters的观察,认为New不起作用。
我尝试了在我创建的新模板中提供的代码,但实际上不起作用。这让我感到惊讶。修改后的代码有效。请注意。如果我打开Word并单击File.New,请选择我的模板,新的宏将不起作用。如果在桌面/文件资源管理器上,我右键单击模板并选择新的代码,则AutoExec的代码将按预期工作。对所有人的误导表示歉意。我还从“功能”更正为“子”。
Public Sub AutoExec()
Dim myResult As String
myResult = InputBox("How many pages?")
If myResult = "0" Then Exit Sub
ActiveDocument.Paragraphs(1).Range.InsertAfter Text:=CStr(String$(CLng(myResult),Chr$(12)))
End Sub