Word抑制边距错误

时间:2013-04-03 08:57:57

标签: vba ms-word word-vba 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 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

这样可行,但在完成打印作业后,仍然会出现边距错误。所以脚本并没有真正压制警告,只是延迟它。任何人都可以指出我正确的方向永久禁用此警告?

1 个答案:

答案 0 :(得分:0)

有两种选择:

a)删除问题,这意味着将您的边距放在可打印区域内。

b)永久设置Application.DisplayAlerts = wdAlertsNone,绝对不建议这样做。在您的情况下,它意味着评论该行:

'Application.DisplayAlerts = wdAlertsAll

但是,如果您这样做,请记得在离开或关闭存在保证金问题的文档时运行上述代码。在其他情况下,您将不会被告知您习惯了解的问题。