Vba 字抑制边距错误
打印Word(2010)文档时,我遇到了一个臭名昭著的错误 可打印区域外的页边距 我发现您可以使用以下宏抑制此警告:Vba 字抑制边距错误,vba,ms-word,margins,Vba,Ms Word,Margins,打印Word(2010)文档时,我遇到了一个臭名昭著的错误 可打印区域外的页边距 我发现您可以使用以下宏抑制此警告: Public WithEvents App As Word.Application Private Sub App_DocumentBeforePrint(ByVal Doc As Document, Cancel As Boolean) Dim bPrintBackgroud As Boolean 'Save current setting of back
Public WithEvents App As Word.Application
Private Sub App_DocumentBeforePrint(ByVal Doc As Document, Cancel As Boolean)
Dim bPrintBackgroud As Boolean
'Save current setting of background printing
bPrintBackgroud = Options.PrintBackground
Options.PrintBackground = False
'Turn off DisplayAlerts
Application.DisplayAlerts = wdAlertsNone
Dialogs(wdDialogFilePrint).Show
'Turn on DisplayAlerts again
Application.DisplayAlerts = wdAlertsAll
'Set original background printing setting
Options.PrintBackground = bPrintBackgroud
End Sub
这是可行的,但在打印工作完成后,我仍然会得到页边距错误。所以脚本并没有真正抑制警告,只是延迟了警告。任何人都可以向我指出正确的方向以永久禁用此警告?有两个选项:
a) 消除这个问题,这意味着将您的页边距放在可打印区域内
b) 永久设置Application.DisplayAlerts=wdAlertsOne
,这是绝对不推荐的。在你的情况下,这意味着评论这句话:
'Application.DisplayAlerts = wdAlertsAll
但是,如果这样做,请记住在离开或关闭有边距问题的文档时运行上述代码。在其他情况下,您不会被告知您习惯于被告知的问题。当我们更新打印机固件时,边距错误开始出现,这是因为维护问题而需要的。有几百字的文档存在此错误,因此重置每个文档上的边距并不是一个真正的选项,因为这也会稍微影响布局。不幸的是,对这句话的评论并不奏效。还是会出错。好的,我明白你的意思,用你的宏做了一些测试,检查了一些解决方案,我唯一的想法是在这里描述的,但这不允许打印到文件中