Word 2003 VBA - 如何禁用“Word内存不足”警告

时间:2012-12-14 10:35:06

标签: vba ms-word word-vba word-2003

我正在运行Word 2003。

我有一个Word文档,我从中运行一个宏来打开其他Word文档并在保存和关闭它们之前对它们执行任务。

由于更改次数,我不断点击“Word has insufficent memory. You will not be able to undo this action once it is completed. Do you want to continue?”提示符。

我已经'Google搜索'了这个错误,并且除了以下内容之外没有找到任何其他内容似乎不起作用:

  • Application.DisplayAlerts = False
  • Application.DisplayAlerts = wdAlertsNone

我认为这可能是因为代码适用于运行宏的Document,而不是宏正在处理的文档。

以下代码是我正在使用的代码的精简版本。我删除的只是一些日志功能。

Function open_word_file(file_name)

    Call wd_backup_current_file_first(file_name) ' backup the current file - so that if damage is done, it can be undone.

    Documents.Open FileName:=file_name, ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", Format:=wdOpenFormatAuto, XMLTransform:=""


    Application.DisplayAlerts = False
    'Application.DisplayAlerts = wdAlertsNone



    '<do_work>
    Call do_something_with_the_opened_file
    '</do_work>

    ActiveDocument.Save ' save the changes
    ActiveDocument.Close
End Function

1 个答案:

答案 0 :(得分:4)

经过大量的试验和错误,导致问题的是撤消缓冲区。

我将以下行放在处理文件的循环中,并且不再显示消息。

ActiveDocument.UndoClear